Java 客户端库使用入门

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

您的应用会代表 Google 相册用户。例如,如果您在用户的 Google 相册媒体库或将媒体内容上传到用户的媒体库 Google 相册账号,用户便可通过 OAuth 2.0 协议。

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

配置您的应用

启用 API

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

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

请求 OAuth 2.0 客户端 ID

请按照以下步骤申请 OAuth 客户端 ID 并为其配置 OAuth 客户端 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 库,并与该客户端库结合使用。

在发布访问 Google 相册 API 的公开应用之前, 您的应用必须经过 Google 审核。测试应用时,屏幕上会显示“未经验证的应用”消息,直至应用通过验证

设置客户端库

Java 客户端库会为您处理所有后端 API 调用,并公开 对象,包括一些常见 API 任务的代码示例。 首先,您需从 GitHub 中下载并安装适用于 Java 的 Google Photos API 客户端库以及依赖项。然后,设置适用于 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 与 Google API 客户端库结合使用 Java

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。