Bắt đầu sử dụng thư viện ứng dụng Java

Để bắt đầu sử dụng API Thư viện Google Photos với thư viện ứng dụng Java, bạn cần thiết lập thư viện ứng dụng trong môi trường phát triển của mình. Trước khi làm điều đó, hãy định cấu hình dự án của bạn bằng cách bật API thông qua Google API Console và thiết lập mã ứng dụng khách OAuth 2.0.

Ứng dụng của bạn sẽ tương tác với Google Photos thay mặt cho người dùng Google Photos. Ví dụ: khi bạn tạo album trong thư viện Google Photos của người dùng hoặc tải các mục nội dung nghe nhìn lên tài khoản Google Photos của người dùng, người dùng sẽ cho phép các yêu cầu API này thông qua giao thức OAuth 2.0.

Mã ứng dụng khách OAuth 2.0 cho phép người dùng ứng dụng của bạn đăng nhập, xác thực và theo đó sử dụng API Thư viện. API thư viện không hỗ trợ tài khoản dịch vụ. Để sử dụng API này, người dùng phải đăng nhập vào một Tài khoản Google hợp lệ.

Định cấu hình ứng dụng

Bật API

Để có thể sử dụng API Thư viện, bạn phải bật API này cho dự án của mình.

  1. Chuyển đến Google API Console.
  2. Trên thanh trình đơn, hãy chọn một dự án hoặc tạo một dự án mới.
  3. Để mở Thư viện API của Google, trong trình đơn Điều hướng, hãy chọn APIs & Services > Library (API và dịch vụ > Thư viện).
  4. Tìm "Google Photos Library API" (API Thư viện Google Photos). Chọn kết quả đúng rồi nhấp vào Enable (Bật).

Yêu cầu mã ứng dụng khách OAuth 2.0

Hãy làm theo các bước bên dưới để yêu cầu mã ứng dụng khách OAuth và định cấu hình mã đó cho ứng dụng của bạn. Ví dụ này sử dụng một ứng dụng trong đó toàn bộ quy trình OAuth được xử lý phía máy chủ, chẳng hạn như ứng dụng trong các mẫu của chúng tôi. Quy trình thiết lập có thể thay đổi đối với các trường hợp triển khai khác.

  1. Chuyển đến Google API Console rồi chọn dự án của bạn.
  2. Từ trình đơn, hãy chọn API và dịch vụ > Thông tin xác thực.
  3. Trên trang Thông tin xác thực, hãy nhấp vào Tạo thông tin xác thực > Mã ứng dụng khách OAuth.
  4. Chọn Loại ứng dụng. Trong ví dụ này, loại ứng dụng là Ứng dụng web.
  5. Đăng ký những nguồn gốc mà ứng dụng của bạn được phép truy cập vào các API của Google như sau:

    1. Để xác định mã ứng dụng khách, hãy nhập tên.
    2. Trong trường Nguồn gốc JavaScript được cho phép, hãy nhập nguồn gốc cho ứng dụng của bạn. Trường này không cho phép sử dụng ký tự đại diện.

      Bạn có thể nhập nhiều nguồn gốc để cho phép ứng dụng chạy trên nhiều giao thức, miền hoặc miền con. Các URL bạn nhập được phép bắt đầu một yêu cầu OAuth.

      Ví dụ sau đây cho thấy một URL phát triển cục bộ (các mẫu của chúng tôi sử dụng localhost:8080) và một URL chính thức.

      http://localhost:8080
      https://myproductionurl.example.com
      
    3. Trường URI chuyển hướng được cho phép là điểm cuối nhận phản hồi từ máy chủ OAuth 2.0. Thông thường, lớp này bao gồm môi trường phát triển và trỏ đến một đường dẫn trong ứng dụng.

      http://localhost:8080/auth/google/callback
      https://myproductionurl.example.com/auth/google/callback
      
    4. Nhấp vào Tạo.

  1. Từ hộp thoại ứng dụng OAuth thu được, hãy tải tệp JSON chứa cấu hình ứng dụng của bạn xuống. Thông tin chi tiết về khách hàng của bạn bao gồm những thông tin sau:

    • Client ID
    • Mật khẩu ứng dụng khách

    Sau này, tệp JSON này sẽ được dùng để thiết lập thư viện Google Auth dành cho Java hoạt động với thư viện ứng dụng này.

Trước khi bạn có thể chạy một ứng dụng công khai có truy cập vào API Thư viện, ứng dụng của bạn phải được Google xem xét. Thông báo "Ứng dụng chưa được xác minh" sẽ xuất hiện trên màn hình khi bạn kiểm thử ứng dụng cho đến khi ứng dụng được xác minh.

Thiết lập thư viện ứng dụng

Thư viện ứng dụng Java xử lý tất cả lệnh gọi API phụ trợ cho bạn và hiển thị các đối tượng thân thiện để thao tác, bao gồm cả mã mẫu cho một số tác vụ API phổ biến. Trước tiên, hãy tải xuống và cài đặt thư viện ứng dụng API Thư viện Google Photos cho Java cùng với các phần phụ thuộc từ GitHub. Sau đó, hãy thiết lập thông tin đăng nhập OAuth2 cho Java.

Tùy chọn tải xuống

Sau đây là một số cách để tải thư viện ứng dụng xuống:

  • Phần phụ thuộc Gradle:

    Để sử dụng thư viện này với Gradle, hãy thêm phần phụ thuộc sau vào tệp build.gradle.

    repositories {
      mavenCentral()
    }
    dependencies {
      compile 'com.google.photos.library:google-photos-library-client:1.7.3'
    }
    
  • Phần phụ thuộc Maven:

    Để sử dụng thư viện này với Maven, hãy thêm nội dung sau vào tệp pom.xml của Maven.

    <dependency>
      <groupId>com.google.photos.library</groupId>
      <artifactId>google-photos-library-client</artifactId>
      <version>1.7.3</version>
    </dependency>
    
  • Tải bản phát hành xuống:

    Trang bản phát hành chứa nhiều cấu phần phần mềm cho mỗi bản phát hành thư viện, bao gồm cả tệp jar.

  • Nhân bản kho lưu trữ:

    Hãy sử dụng phương thức này nếu bạn muốn thay đổi hoặc đóng góp cho thư viện này, ví dụ: gửi yêu cầu lấy dữ liệu hoặc nếu bạn muốn dùng thử các mẫu của chúng tôi. Khi bạn sao chép kho lưu trữ, tất cả tệp trong kho lưu trữ này sẽ được tải xuống.

    1. Chạy git clone https://github.com/google/java-photoslibrary.git tại dấu nhắc lệnh.
    2. Bạn sẽ nhận được một thư mục java-photoslibrary. Hãy chuyển đến đó bằng cách chạy cd java-photoslibrary.
    3. Mở tệp build.gradle trong IDE hoặc chạy ./gradlew assemble tại lời nhắc lệnh để tạo dự án. Hãy xem ./gradlew tasks để xem các nhiệm vụ hiện có.

Thiết lập thông tin đăng nhập OAuth2 cho Java

Thư viện ứng dụng này hoạt động với Thư viện xác thực của Google dành cho Java. Để biết thêm thông tin, hãy tham khảo bài viết Sử dụng OAuth 2.0 với Thư viện ứng dụng API của Google cho Java.

Chỉ định cấu hình OAuth của ứng dụng trong CredentialsProvider khi tạo PhotoLibrarySettings cho đối tượng PhotosLibraryClient.

Thử một số mẫu

Hãy thử mã dưới đây để thực hiện lệnh gọi API đầu tiên bằng thư viện ứng dụng Java.

// 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
}

Có nhiều mẫu hơn trên GitHub để bạn dùng thử.