使用在Gdrive中与我共享的文件ID更新文件
本文关键字:文件 共享 ID 更新 Gdrive | 更新日期: 2023-09-27 18:35:47
C# App
我需要使用文件 ID 更新在 Gdrive 中共享的文件。
法典:
public static Google.Apis.Drive.v2.Data.File UpdateFile(DriveService service,
String fileId, String newTitle, String newDescription, String newMimeType,
String newFilename, bool newRevision)
{
try
{
// First, retrieve the file from the Google Drive.
Google.Apis.Drive.v2.Data.File file = service.Files.Get(fileId).Fetch();
// Set the file's new metadata.
file.Title = newTitle;
// file.Description = newDescription;
file.MimeType = newMimeType;
// Get the file's new content and read it into a memory stream
byte[] byteArray = System.IO.File.ReadAllBytes(newFilename);
System.IO.MemoryStream stream = new System.IO.MemoryStream(byteArray);
// Call the Update API method passing in the updated information.
FilesResource.UpdateMediaUpload request = service.Files.Update(file, fileId, stream, newMimeType);
// Tell Google Drive if this is a new revision of the file or not.
request.NewRevision = newRevision;
// Execute the update
request.Upload();
// Get the response back from Google Drive and set the updatedFile
//object to the returned File informational object
Google.Apis.Drive.v2.Data.File updatedFile = request.ResponseBody;
// Return the updated file object so the caller has a handle on it.
return updatedFile;
}
引发错误:找不到文件。
2件事
:
请将库更新到最新版本。可以从 NuGet - http://www.nuget.org/packages/Google.Apis.Drive.v2/下载最新的驱动器 API。然后,您可以使用最新的上传API,它解决了几个错误。另请注意,从 1.4.0-beta 开始,我们将 Fetch 方法更改为执行,因此您需要更改代码。请记住还要安装Google.Apis.Authentication软件包(在计划几周后的下一个版本中,我们将提供一个新的身份验证库,这将使OAuth2"跳舞"变得更加容易,并将支持其他Windows平台,如WinRT和WP)。
您确定错误是从"请求"引发的吗?Upload()"而不是来自"byte[] byteArray = System.IO.File.ReadAllBytes(newFilename);"或"service.Files.Get(fileId).Fetch();".您可以附加确切的异常及其堆栈跟踪吗?
埃亚尔