che*_*r89 5 .net google-cloud-storage
所以我从Nuget(Google.Apis.Storage.v1,版本= 1.8.1.10)下载了用于云存储的.NET客户端,使用Developer Console创建了一个项目,生成了API密钥,启用了计费,创建了一个存储桶.
但是,当我尝试列出存储桶中的所有对象时,我收到此错误(需要登录).任何想法为什么会这样?在控制台中启用了云存储及其JSON API.
以下是我的示例应用程序的完整代码:https://gist.github.com/chester89/5d6a62633abab3969c32
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",
});
Run Code Online (Sandbox Code Playgroud)