2013-09-26 117 views
3

使用:驅動版:1.5.0.99 Beta版,.NET框架:4.5谷歌雲端硬盤API V2:InsertMediaUpload - 空響應收到

認證進行正確(使用模擬) - 通過服務帳戶(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始終爲空。

我錯過了什麼嗎?

回答

1

如果上傳過程中出現一些異常,返回的對象(IUploadProgress)應包含異常(看看Exception屬性)。 請檢查是什麼例外。

你也應該考慮使用UploadAsync不擋住你的代碼(但首先你應該明白什麼是例外)

+0

沒有異常被拋出 - 什麼也沒有發生。 ResponseBody爲null – Prasanna

+0

返回對象包含什麼?它有Status,Exception和BytesSent。每個屬性包含哪些內容? – peleyal

+0

已設法解決此問題。通過UploadAsync,它引發了一個例外,即ZLibPortable引用不可用。然而,使用InsertMediaUpload.Upload方法,它不會拋出任何異常,也不會發送任何請求 - 只返回null。看起來像InsertMediaUpload需要一些修復。如果添加ZLibPortable Ref,則InsertMediaUpload.Upload可以正常工作。 – Prasanna

相關問題