3

使用:Drive v2:1.5.0.99 Beta,.NET Framework:4.5

身份验证正确进行(使用模拟) - 通过服务帐户(AssertionFlowClient)。获得访问令牌。服务帐户已被授予域范围的权限

我可以通过 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();

但是 Upload 方法不发送任何请求。不会抛出异常。Fiddler 跟踪显示未发送任何请求,因此 request.responsebody 始终为空。

我错过了什么吗?

4

2 回答 2

1

如果在上传过程中出现异常,返回对象 (IUploadProgress) 应该包含异常(查看 Exception 属性)。请检查异常情况。

您还应该考虑使用不会阻止您的代码的 UploadAsync(但首先您应该了解什么是异常)

于 2013-09-27T01:21:23.030 回答
0

您应该从上传中查看异常,这将使您更好地了解实际问题。

示例代码:

var progress = request.Upload();

if (progress.Exception != null)
{
   //Log execption, or break here to debug
   YourLoggingProvider.Log(progress.Exception.Message.ToString());
}
于 2020-06-04T00:33:32.080 回答