2

我想使用 JSON API 客户端库在存储中进行查找,并且只检索与特定前缀匹配的每个对象的名称和生成,但我遇到了字段请求参数的问题。

执行以下操作会返回预期的对象。

Storage.Objects.List listObjects = null;
listObjects.setVersions(true);
listObjects.setPrefix(myprefix);

为 com.google.api.client.http.HttpRequest 中的请求创建的 URL 为https://www.googleapis.com/storage/v1beta2/b/mybucketname/o?prefix=myprefix&versions=true

但是,当我添加

listObjects.setFields("name,generation");

创建的 URL 为https://www.googleapis.com/storage/v1beta2/b/mybucketname/o?fields=name,generation&prefix=myprefix&versions=true返回以下内容:

{
    "code" : 400,
    "errors" : [ {
        "domain" : "global",
        "location" : "fields",
        "locationType" : "parameter",
        "message" : "Invalid field selection name",
        "reason" : "invalidParameter"
     } ],
     "message" : "Invalid field selection name"
}

我应该如何指定我想要返回的字段?我指定的字段层次结构是否不正确?

谢谢!

参考:基于此验证 URL 的组成:https ://developers.google.com/storage/docs/json_api/v1/how-tos/performance#partial

4

1 回答 1

2

我想你想要的是:

fields=items(generation,name)

或使用完整的 URL:

https://www.googleapis.com/storage/v1beta2/b/mybucketname/o?fields=items(generation,name)&prefix=myprefix&versions=true

APIs Explorer是一个很好的工具,可以用来试验这样的请求字段。它将为您生成正确的字段。

于 2013-08-27T15:45:17.850 回答