1

我使用的 IDE 是 Eclipse 4.2 Juno。我没有编译或导入错误。这是我目前使用的代码(有些是从教程中公然复制的,有些是改编的,有些我不知道它来自哪里):

public static void print()
{

    HttpTransport httpTransport = new NetHttpTransport();
    JsonFactory jsonFactory = new JacksonFactory();

    Drive serv = new Drive(httpTransport, jsonFactory,null);
    try {
    File f = serv.files().get("1K5Ge9-Rz_L2gJH5hKrpkAfFDos5ZgRCvnzy7_HaiAV8").execute();

    System.out.println(f.getId());


        //System.out.println(f.getDownloadUrl());
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

}

错误与“文件 f = ...”有关。我收到 403 使用限制错误。查看代码,这是意料之中的,因为它没有按照 Google 文档中的要求进行身份验证。

该应用程序是一个简单的可执行 .jar,它从各种来源(在本例中为 google 驱动器)获取内容,然后调用外部程序对其进行转换。如果我能掌握文档的元数据,我就可以用它来更好地为用户服务。但是,内容必须公开。那么如何在不询问用户个人信息或打开他们的网络浏览器的情况下从文档链接中获取数据呢?是的,我有一个 API 密钥。

我知道它可以工作,因为这里的概念证明让我可以选择是否使用 OAuth2.0。作为记录,我目前正在从文档列表迁移。

编辑 在发布这个问题后不到 5 分钟我会弄明白才有意义。我只需要构建一个类似于“https://www.googleapis.com/drive/v2/files/document_id ?key= key 的 URL,我就可以获得我想要的所有数据。

新问题,将我的密钥放在源代码中是否明智?

4

1 回答 1

1

如果您不使用 OAuth 2.0 授权您的请求,则无法检索存储在 Google Drive 上的文件的元数据。

在发送授权请求之前,您需要在 API 控制台中创建一个项目并为您的应用程序生成 OAuth 2.0 凭据,而不是 API 密钥。

执行 OAuth 流程并获得访问令牌后,您可以使用它来检索文档的元数据。开始使用 Google Drive SDK 的一种简单方法是https://developers.google.com/drive/quickstart上的快速入门,它将指导您从项目创建到将文件上传到 Drive 的完整命令行应用程序.

于 2012-09-24T07:34:39.213 回答