【问题标题】:Google Drive DriveCommandLine sample app not working?Google Drive DriveCommandLine 示例应用程序不起作用?
【发布时间】:2012-09-09 18:18:48
【问题描述】:

目前已知 Google Drive API 示例命令行应用程序 (DriveCommandLine) 可以工作吗?我已经下载了 Java 客户端库,并编译了示例应用程序(插入我的应用程序的客户端 ID 和通过指定“已安装的应用程序”和“其他”创建的密码)。它运行并通知我在浏览器中访问以下链接:

https://accounts.google.com/o/oauth2/auth?access_type=online&approval_prompt=auto&client_id=MY_ACTUAL_CLIENT_ID&redirect_uri=urn:ietf:wg:oauth:2.0:oob&response_type=code&scope=https://www.googleapis.com/auth/drive

(显然那里有我的实​​际客户 ID。)

这成功地为我提供了一个验证码。当我在应用程序的提示符下输入它时,然后在行:

File file = service.files().insert(body, mediaContent).execute();

我得到了例外:

Exception in thread "main" com.google.api.client.http.HttpResponseException: 401 Unauthorized
    at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:978)
    at com.google.api.client.googleapis.media.MediaHttpUploader.executeUploadInitiation(MediaHttpUploader.java:338)
    at com.google.api.client.googleapis.media.MediaHttpUploader.upload(MediaHttpUploader.java:252)
    at com.google.api.services.drive.Drive$Files$Insert.executeUnparsed(Drive.java:309)
    at com.google.api.services.drive.Drive$Files$Insert.execute(Drive.java:331)
    at DriveCommandLine.main(DriveCommandLine.java:56)

调查显示返回的GoogleCredential 的所有元素都设置为null(这似乎是错误的)。

我使用的 Drive API 客户端版本是“v2-rev5-1.7.2-beta”,这是当前快速入门页面上指向的版本: https://developers.google.com/drive/quickstart

我正在使用这个 JAR 以及类路径中“libs”子目录中的所有 JAR 进行编译和运行(快速入门页面是指将源 JAR 添加到类路径中,这显然不起作用)。

谁能解释这里可能出了什么问题?

谢谢!

【问题讨论】:

    标签: google-drive-api


    【解决方案1】:

    快速入门中的链接已过时。尝试从以下链接下载 Drive SDK:http://code.google.com/p/google-api-java-client/wiki/APIs#Drive_API

    看看这对你有没有影响。我的 DriveCommandLine 应用程序运行良好。

    【讨论】:

      【解决方案2】:
      • 您需要从 API 访问页面下载 JSON 文件,网址为 https://cloud.google.com/console

      • 将此 json 文件重命名为“client_secrets.json”

      • 将此 json 复制到您的项目文件夹中或更具体地复制它 进入“src/main/resources”。 (此文件包含 clientID 和机密)。如果该文件已存在于文件夹中,则将其替换。

      • 现在运行项目。您将被重定向到 Google Drive 的“允许 访问”页面。

      PS - json 文件必须属于“已安装类型的应用程序”,因为这是一个命令行示例并在本地运行。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-12-10
        • 1970-01-01
        • 2013-07-31
        • 1970-01-01
        • 2013-01-05
        • 2018-08-09
        • 1970-01-01
        • 2012-11-13
        相关资源
        最近更新 更多