Java 客户端库使用入门

如需开始搭配使用 Google Photos Library API 和 Java 客户端库,您需要在开发环境中设置客户端库。在此之前,请通过 Google API 控制台启用 API 并设置 OAuth 2.0 客户端 ID,以配置您的项目

您的应用会代表 Google 相册用户与 Google 相册互动。例如,当您在用户的 Google 相册媒体库中创建影集或将媒体内容上传到用户的 Google 相册帐号时,用户会通过 OAuth 2.0 协议授权这些 API 请求。

利用 OAuth 2.0 客户端 ID,您的应用用户可以登录、进行身份验证,从而使用 Library API。Library API 不支持服务帐号;如需使用此 API,用户必须登录有效的 Google 帐号。

配置您的应用

启用 API

您必须先为项目启用 Library API,然后才能使用它。

  1. 转到 Google API 控制台
  2. 从菜单栏中选择一个项目或创建新项目。
  3. 要打开 Google API 库,请在导航菜单中依次选择 API 和服务 > 库
  4. 搜索“Google Photos Library API”。选择正确的结果,然后点击启用

请求 OAuth 2.0 客户端 ID

请按照以下步骤请求 OAuth 客户端 ID 并为您的应用配置该 ID。此示例中使用了一个应用在服务器端处理整个 OAuth 流程(例如我们示例中的流程)。设置过程可能因其他实现场景而异。

  1. 前往 Google API 控制台,选择您的项目。
  2. 从菜单中依次选择 API 和服务 > 凭据
  3. 凭据页面上,依次点击创建凭据 > OAuth 客户端 ID
  4. 选择您的应用类型。在此示例中,应用类型为 Web 应用
  5. 按以下步骤注册允许您的应用访问 Google API 的来源:

    1. 如要标识客户端 ID,请输入名称。
    2. 已获授权的 JavaScript 来源字段中,输入应用的来源。此字段不允许使用通配符。

      您可以输入多个源站,以便您的应用在不同的协议、网域或子网域上运行。您输入的网址可以启动 OAuth 请求。

      以下示例展示了本地开发网址(此示例使用 localhost:8080)和正式版网址。

      http://localhost:8080
      https://myproductionurl.example.com
      
    3. 已获授权的重定向 URI 字段是接收 OAuth 2.0 服务器响应的端点。通常,这包括您的开发环境并指向应用中的路径。

      http://localhost:8080/auth/google/callback
      https://myproductionurl.example.com/auth/google/callback
      
    4. 点击创建

  1. 在随即显示的 OAuth 客户端对话框中,下载包含客户端配置的 JSON 文件。客户端详细信息包含以下内容:

    • 客户端 ID
    • 客户端密钥

    此 JSON 文件稍后将用于设置适用于 Java 的 Google Auth 库,并与该客户端库搭配使用。

在发布访问 Library API 的公共应用之前,您的应用必须经过 Google 审核。测试应用时,屏幕上会显示“未经验证的应用”消息,直到应用经过验证为止。

设置客户端库

Java 客户端库可为您处理所有后端 API 调用,并提供适合搭配使用的对象,包括一些常见 API 任务的代码示例。首先,下载并安装适用于 Java 的 Google Photos Library API 客户端库以及 GitHub 依赖项。然后,设置适用于 Java 的 OAuth2 凭据。

下载选项

以下是下载客户端库的一些选项:

  • Gradle 依赖项

    如需将此库与 Gradle 结合使用,请将以下依赖项添加到 build.gradle 文件中。

    repositories {
      mavenCentral()
    }
    dependencies {
      compile 'com.google.photos.library:google-photos-library-client:1.7.3'
    }
    
  • Maven 依赖项

    如需将此库与 Maven 结合使用,请将以下代码添加到 Maven pom.xml 文件中。

    <dependency>
      <groupId>com.google.photos.library</groupId>
      <artifactId>google-photos-library-client</artifactId>
      <version>1.7.3</version>
    </dependency>
    
  • 下载发布版本

    版本页面包含每个库版本的不同工件,包括 jar 文件。

  • 克隆代码库

    如果您想更改此库或为其贡献代码(例如提交拉取请求),或想要试用我们的示例,请使用此方法。克隆代码库时,系统会下载此代码库中的所有文件。

    1. 在命令提示符中运行 git clone https://github.com/google/java-photoslibrary.git
    2. 您将获得一个 java-photoslibrary 目录。运行 cd java-photoslibrary 即可转到该目录。
    3. 在 IDE 中打开 build.gradle 文件,或在命令提示符下运行 ./gradlew assemble 以构建项目。请参阅 ./gradlew tasks 查看可用任务。

设置适用于 Java 的 OAuth2 凭据

此客户端库可与适用于 Java 的 Google Auth 库搭配使用。如需了解详情,请参阅将 OAuth 2.0 与适用于 Java 的 Google API 客户端库搭配使用

PhotosLibraryClient 对象创建 PhotoLibrarySettings 时,请在 CredentialsProvider 中指定您的客户端 OAuth 配置。

试用一些示例

请尝试以下代码,使用 Java 客户端库进行您的第一次 API 调用。

// Set up the Photos Library Client that interacts with the API
PhotosLibrarySettings settings =
     PhotosLibrarySettings.newBuilder()
    .setCredentialsProvider(
        FixedCredentialsProvider.create(/* Add credentials here. */)) 
    .build();

try (PhotosLibraryClient photosLibraryClient =
    PhotosLibraryClient.initialize(settings)) {

    // Create a new Album  with at title
    Album createdAlbum = photosLibraryClient.createAlbum("My Album");

    // Get some properties from the album, such as its ID and product URL
    String id = album.getId();
    String url = album.getProductUrl();

} catch (ApiException e) {
    // Error during album creation
}

GitHub 上提供了更多示例供您试用。