uploadFileByShareToken method

  1. @override
Future<String> uploadFileByShareToken({
  1. required String localPath,
  2. required String shareToken,
  3. Map<String, dynamic>? metadata,
})
override

Uploads a file from localPath using a shareToken.

Implementation

@override
Future<String> uploadFileByShareToken({
  required String localPath,
  required String shareToken,
  Map<String, dynamic>? metadata,
}) {
  return _executeRequest(() async {
    final file = File(localPath);
    final driveFile = drive.File(); // Empty file metadata for update
    final media = drive.Media(file.openRead(), await file.length());
    // Use the 'update' method with the file ID (shareToken) to overwrite content.
    final updatedFile = await driveApi.files
        .update(driveFile, shareToken, uploadMedia: media, $fields: 'id');
    return updatedFile.id!;
  });
}