【问题标题】:Google Drive API v3 getting root folder Id in javaGoogle Drive API v3在java中获取根文件夹ID
【发布时间】:2017-01-05 11:24:06
【问题描述】:

我尝试了几件事,但无法在 Java Api v3 中获取根文件夹 ID。

我尝试了什么:

String id = service.files().get("fileId=root").setFields("id").execute().getId();

String id = service.files().get("fileId=root").setFields("?fields=id").execute().getId();

String id = service.files().get("root").setFields("?fields=id").execute().getId();

String id = service.files().get("fileId=root and ?fields=id").execute().getId();

我收到此错误:

    com.google.api.client.googleapis.json.GoogleJsonResponseException: 400 Bad Request
{
  "code" : 400,
  "errors" : [ {
    "domain" : "global",
    "location" : "fields",
    "locationType" : "parameter",
    "message" : "Invalid field selection ?fields=id",
    "reason" : "invalidParameter"
  } ],
  "message" : "Invalid field selection ?fields=id"
}

An error occurred: com.google.api.client.googleapis.json.GoogleJsonResponseException: 404 Not Found
{
  "code" : 404,
  "errors" : [ {
    "domain" : "global",
    "location" : "fileId",
    "locationType" : "parameter",
    "message" : "File not found: .",
    "reason" : "notFound"
  } ],
  "message" : "File not found: ."
}

我查看了migration 文档和其他posts,但仍然无法获得根ID。谢谢!

【问题讨论】:

  • 只是好奇,为什么需要root id?
  • 我正在从 API v2 迁移到 v3。前面的代码在多次调用中使用了这个 id,所以我试图获取 id。
  • 如果这有帮助,在 Try API here 中,我只是为根目录中的一个文件做了files.get 并将parents 作为字段选项传递,我得到了ID跨度>
  • 感谢您的解决方案,我会尝试的。但是,在迁移文档中它说“对于 rootFolderId,使用 fileId=root 和 ?fields=id 执行 files.get”。你知道我怎样才能得到这份工作吗?
  • 是的,刚刚尝试了您的建议。 file.get("root").setFields("id") 可能是个不错的尝试。

标签: java google-drive-api


【解决方案1】:

尝试以下组合,看看是否有效。

String id = service.files().get("root").setFields("id").execute().getId();

【讨论】:

  • 其实大部分情况下,不需要获取root id。您可以使用别名 root 来指代任何提供文件 ID 的根文件夹
  • @skyfree 您需要实际根 ID 的原因是您获取文件元数据的位置,并且您想检查它的父级是否是根。 'parents' 属性将包含实际的根 ID,而不是字符串 'root'。
【解决方案2】:

要执行上述组合,您必须授予您的应用程序完全访问权限以使用云端硬盘。 需要给出的 OAuth 2.0 范围:https://www.googleapis.com/auth/drivehttps://www.googleapis.com/auth/drive.readonly

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-31
    • 1970-01-01
    相关资源
    最近更新 更多