所以,我下載.NET客戶端的雲存儲從的NuGet(Google.Apis.Storage.v1,版本= 1.8.1.10),創造了一個使用開發者控制檯的項目,生成的API密鑰,啓用結算,創建一個存儲桶。
但是,當我試圖列出一個桶中的所有對象,我得到這個錯誤(需要登錄)。任何想法,爲什麼這可能是?雲存儲及其JSON API在控制檯中啓用。
下面是我的示例應用程序全碼:https://gist.github.com/chester89/5d6a62633abab3969c32Google.Apis.Requests.RequestError需要登錄[401]消息[需要登錄]位置
3
A
回答
4
API密鑰是一個簡單的標記,上面寫着「此調用與該項目有關的。」它對於管理配額很有用,但它不是祕密,並且不會將調用者認證爲任何特定用戶。據推測,您的存儲桶不可匿名來電,您的來電是匿名的。
你可以通過授予匿名用戶只讀訪問權限的桶解決這個問題,但更好的辦法是將驗證您的請求。根據您是否想用自己的個人憑證撥打電話,或者是否想要使用與您的應用程序相關聯的服務帳戶,您有幾個選擇。完整說明,這裏記載:https://developers.google.com/api-client-library/dotnet/guide/aaa_oauth
猜你想爲自己進行認證和你正在寫,將在桌面上運行的應用程序,這裏有一個例子:
UserCredential credential;
using (var stream = new FileStream("client_secrets.json", FileMode.Open, FileAccess.Read))
{
credential = await GoogleWebAuthorizationBroker.AuthorizeAsync(
GoogleClientSecrets.Load(stream).Secrets,
new[] { BooksService.Scope.Books },
"user", CancellationToken.None, new FileDataStore("Books.ListMyLibrary"));
}
// Create the service.
var service = new BooksService(new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = "Books API Sample",
});
0
認沽Apikey和401錯誤永遠不會到來。
var service = new DirectoryService(new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName ="Books API Sample",
ApiKey = "gjgggjggskkxkhgd"
});
相關問題
- 1. 的Yii 2消息「需要登錄」
- 2. Google Calendar API - 錯誤401需要登錄
- 3. Sitecore - 需要登錄
- 4. 需要使用Python登錄的網站需要登錄
- 5. 需要登錄url訪問
- 6. 登錄前需要註銷
- 7. 需要登錄2次
- 8. Airbnb Superset iframe需要登錄
- 9. 不需要登錄XMPP MUC
- 10. 我需要登錄表嗎?
- 11. Django登錄需要查看
- 12. Crystal報表需要登錄
- 13. Django登錄需要兩次
- 14. IdentityServer.IdentityManager不需要登錄
- 15. Rhoconnect webservice登錄需要
- 16. 當需要登錄時,頁面返回200而不是401
- 17. 代碼401,需要登錄,而在Android上使用
- 18. 微博登錄:401客戶端錯誤:需要授權
- 19. 受登錄保護的頁面不需要登錄訪問
- 20. 登錄在javascript中使用AdminDirectory.users.Get時需要登錄
- 21. 登錄表格需要在登錄前完成若干次
- 22. Google plus登錄需要每次登錄的權限
- 23. PHP登錄腳本需要用戶登錄兩次
- 24. ASP.NET MVC4已登錄但仍需要登錄
- 25. 需要顯示登錄用戶成功登錄後的名稱
- 26. 由於重定向,php登錄代碼需要登錄兩次
- 27. 當人登錄時需要登錄腳本
- 28. 需要登錄到wordpress當有人登錄到我的網站
- 29. AngularJS:如何登錄一次,不需要再次登錄
- 30. 登錄驗證需要去實際登錄
因此,如果我在服務器上運行應用程序,我只需使用ServiceAccount呢? – chester89
是的。一種常見模式是擁有一個屬於該項目成員的服務帳戶。該應用程序具有與該服務帳戶關聯的私鑰,並使用該密鑰對其自身進行身份驗證。 –