我需要幫助診斷此錯誤。其他人可以在各種平臺上獲得它(例如youtube),但大多數平臺似乎都沒有解決。對於那些報告成功的人來說,他們的解決方案並不適合我。如何解決「值不能爲空參數名稱:baseUri」
我正在使用Google Drive API,並在嘗試上傳到Google雲端硬盤時收到此錯誤消息。
我的代碼很長時間工作正常;突然,我得到這個錯誤。經過研究,我確定,我還沒有達到配額,而這些API被啓用:
- Debuglet控制器API
- 驅動API
- 谷歌雲數據流API
- 谷歌雲Dataproc API
- 谷歌雲部署管理器API
- 谷歌雲部署管理器V2 API
- 谷歌雲存儲
- 谷歌雲存儲JSON API
- 谷歌Compute Engine的自動配置器API
- 谷歌Compute Engine的實例組管理器API
- 谷歌Compute Engine的實例組更新API
- 谷歌Compute Engine執行個體組API
- 谷歌集裝箱引擎API
- 谷歌的機器學習API
這裏是我的代碼:
string fileName = @"c:\temp\MyPicture.jpg";
string fileTitle = @"TEST-DELETE-ME.jpg";
string fileDescription = @"Test file name";
string fileType = "image/jpeg";
string parentId = "zmzmzmzmzmzmzmzmzmz";
Google.Apis.Drive.v2.DriveService service = (Google.Apis.Drive.v2.DriveService)Service;
Google.Apis.Drive.v2.Data.File body = new Google.Apis.Drive.v2.Data.File();
body.Title = fileTitle;
body.Description = fileDescription;
body.MimeType = fileType;
body.Parents = new List<ParentReference> { new ParentReference() { Id = parentId } };
byte[] byteArray = System.IO.File.ReadAllBytes(fileName);
System.IO.MemoryStream stream = new System.IO.MemoryStream(byteArray);
Google.Apis.Drive.v2.FilesResource.InsertMediaUpload request = service.Files.Insert(body, stream, fileType);
Google.Apis.Upload.IUploadProgress progress = request.Upload();
Google.Apis.Drive.v2.Data.File file = request.ResponseBody;
if (file == null)
{
//Here we are, and we shouldn't be!
//progress.exception.message =
//
//Value cannot be null.
//Parameter name: baseUri
}
當我看到驅動API設置,這些都是配置:
沒有圖標(有框爲256x265,128x128的,64×64×64,32×32,16和16×16都是空白)
應用程序名稱以及短和長描述都是空白和可選的。
對於驅動器集成,所有框和複選框都爲空或未選中。具體如下:
「自動顯示OAuth 2.0同意...」未選中。
「打開網址」爲空。
默認和次要MIME類型和文件擴展名是空白
「允許用戶創建新的文件...」未選中
「允許用戶打開多個文件中...」未檢查
「允許用戶打開可以轉換的文件...「是沒有選
‘此應用程序可以啓動,並在移動瀏覽器工作正常’被選中。
用戶不使用谷歌驅動器UI通過我的應用程序創建的文件,並且是不是要在移動瀏覽器中使用。我的應用程序只上傳PDF文件到用戶的賬戶。
我的應用程序已經工作了幾個月,沒有任何問題,現在突然看到此錯誤。
我曾嘗試禁用所有AP我是,然後重新啓用它們。沒有骰子。
我嘗試過使用新的客戶端ID和密碼。沒有骰子。
我已經嘗試使用新的Gmail地址,並創建一個新的客戶端ID和祕密。沒有骰子。
我不可能是世界上唯一有這個問題的人。任何人都可以幫我解決這個問題嗎?
我正在使用此庫,但對於Google雲端存儲。我遇到了兩個(迄今爲止)的異常情況,導致了這個模糊的錯誤信息。如果客戶端沒有正確的身份驗證,並且我嘗試上傳一個blob,我會得到這個「baseUri」異常。如果我試圖上傳到一個不存在的存儲桶,我會得到這個「baseUri」異常。這很可能是你正在做這樣的谷歌驅動器(不知道什麼樣的情況下,將驅動器,但肯定它們存在。)但是,我嘗試檢索斑點時,獲得適當的錯誤信息... – Anj
感謝您的反饋Anj。就我而言,我的代碼允許登錄,導航文件夾,並上傳或下載文件。下載工作正常,上傳失敗。所以該文件夾存在和認證工程。我應該提到代碼沒有改變,儘管代碼一次工作。這就是爲什麼我提供了我所做的細節。有人建議我的API權限配置不正確。 – Wigwam
添加了Google-Cloud-Platform標籤,希望能夠擴大與其他開發者的聯繫。 – Wigwam