谷歌存储API 1.8.1 -项目获取问题



我无法通过Google Storage Service API获取项目:

Google.Apis.Storage.v1.StorageService service;
// ...
Google.Apis.Storage.v1.ObjectsResource.GetRequest request = service.Objects.Get(bucketName, uri);
request.Alt = StorageBaseServiceRequest<GCSObject>.AltEnum.Json;
Google.Apis.Storage.v1.Data resp = request.Execute();

我得到GoogleApiException

"An Error occurred, but the error response could not be deserialized."

不管指定的项是否存在于存储器中。

"request.ExecuteAsStream()" returns "Not Found" text only.

通过service.ObjectAccessControls.Insert()方法设置ObjectAccessControl时也会出现同样的问题。

你有什么建议吗?

注:我可以上传一个项目,但没有任何问题。

检查您的URI/Object是否包含需要转义的字符,如'/'。它可能导致(在. net 4中)响应not found 404,这意味着在Google cloud上找不到对象。.net的google api不能序列化这个错误,所以你会得到这个无用的消息("错误响应不能被反序列化")。

要解决这个问题,请在web配置中添加:
<uri>
<schemeSettings>
<add name="https" genericUriParserOptions="DontUnescapePathDotsAndSlashes" />
</schemeSettings>
</uri>

我在这里解释了这个场景:斜杠,谷歌云存储&.NET4 .

相关内容

  • 没有找到相关文章

最新更新