Google云端硬盘凭据

时间:2014-11-18 05:42:28

标签: google-drive-api

我正在创建一个应用程序,我必须将文件存储在登录用户的Google驱动器中,因此用户登录时可以将数据存储在他的驱动器上。现在我有一个问题如何从代码中生成Google Drive凭据(clientId,clientSecret和refreshToken),就像我看到的所有示例一样,要求转到Google控制台并执行此操作。是否有任何我们可以使用java代码实现它。实际上我需要使用谷歌驱动器广告数据库存储。 使用以下代码:但需要客户端ID。

    public class Main
{
  public static void main(String[] args)
  {
    String clientId = "...";
    String clientSecret = "...";

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

    GoogleAuthorizationCodeFlow flow = new GoogleAuthorizationCodeFlow.Builder(
      httpTransport, 
      jsonFactory,
      clientId,
      clientSecret,
      Arrays.asList(DriveScopes.DRIVE)
    )
      .setAccessType("online")
      .setApprovalPrompt("auto").build();

    String redirectUri = "urn:ietf:wg:oauth:2.0:oob";     
    String url = 
      flow
        .newAuthorizationUrl()
        .setRedirectUri(redirectUri)
        .build();

    System.out.println("Please open the following URL in your browser then type the authorization code:");
    System.out.println("  " + url);
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    String code = br.readLine();

    GoogleTokenResponse response = 
      flow
        .newTokenRequest(code)
        .setRedirectUri(redirectUri)
        .execute();

    GoogleCredential credential = 
      new GoogleCredential()
        .setFromTokenResponse(response);

    Drive service = 
      new Drive.Builder(httpTransport, jsonFactory, credential)
        .build();

    ...
  }
}

2 个答案:

答案 0 :(得分:0)

要获取客户端ID和客户端密钥,您需要先在Google Developers Console中创建或选择项目并启用API。

您可以点击以下链接:

https://console.developers.google.com/apis/api/drive.googleapis.com/

答案 1 :(得分:0)

  1. 要获取客户端ID,您首先需要从链接https://console.developers.google.com/下方转到Google开发者控制台。

  2. 点击创建项目并填写项目名称。

  3. 点击API& AUTH,在此之后单击凭据,您将看到创建新的客户端ID链接。在这里,您获得了客户端ID