Google Drive API v2:InsertMediaUpload - 收到空响应
本文关键字:响应 InsertMediaUpload Drive API v2 Google | 更新日期: 2023-09-27 18:32:48
使用: Drive v2: 1.5.0.99 Beta, .NET Framework: 4.5
身份验证正确进行(使用模拟) - 通过服务帐户(断言流客户端)。获取访问令牌。 服务帐号已被授予全域权限
我能够通过Service.Files.List()获取父文件夹 - ID (strRootFolder);
byte[] byteArray = System.IO.File.ReadAllBytes(FileName);
Google.Apis.Drive.v2.Data.File flUpload = new Google.Apis.Drive.v2.Data.File();
flUpload.Title = Title;
flUpload.Description = Description;
flUpload.MimeType = MimeType;
flUpload.Parents = new List<ParentReference>() { new ParentReference() { Id = strRootFolder } };
Google.Apis.Drive.v2.FilesResource.InsertMediaUpload drvRequest = drvService.Files.Insert(flUpload, new System.IO.MemoryStream(byteArray), "text/plain");
drvRequest.Upload();
但是,上传方法不会发送任何请求。不会引发任何异常。Fiddler 跟踪显示未发送任何请求,因此 request.responsebody 始终为空。
我错过了什么吗?
如果在上载过程中发生某些异常,则返回对象 (IUploadProgress) 应包含异常(请查看 Exception 属性)。请检查什么是例外。
您还应该考虑使用不会阻止您的代码的 UploadAsync(但首先您应该了解什么是例外)
您应该从上传中查看异常,这将使您更好地了解实际问题。
示例代码:
var progress = request.Upload();
if (progress.Exception != null)
{
//Log execption, or break here to debug
YourLoggingProvider.Log(progress.Exception.Message.ToString());
}