目前已知 Google Drive API 示例命令行应用程序 (DriveCommandLine) 可以工作吗?我已经下载了 Java 客户端库,并编译了示例应用程序(插入我的应用程序的客户端 ID 和通过指定“已安装应用程序”和“其他”创建的密码)。它运行并通知我在浏览器中访问以下链接:
(显然那里有我的实际客户 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 添加到类路径,这显然不起作用)。
谁能阐明这里可能出了什么问题?
谢谢!