Bắt đầu nhanh với Java

Hướng dẫn bắt đầu nhanh này giải thích cách thiết lập một ứng dụng dòng lệnh Java đơn giản, gửi yêu cầu đến YouTube Data API. Hướng dẫn bắt đầu nhanh này thực sự giải thích cách thực hiện 2 yêu cầu API:

  1. Bạn sẽ sử dụng một khoá API (khoá này xác định ứng dụng của bạn) để truy xuất thông tin về kênh GoogleDevelopers trên YouTube.
  2. Bạn sẽ sử dụng mã ứng dụng khách OAuth 2.0 để gửi một yêu cầu được uỷ quyền nhằm truy xuất thông tin về kênh YouTube của riêng bạn.

Điều kiện tiên quyết

Để chạy hướng dẫn bắt đầu nhanh này, bạn cần:

  • Java 1.7 trở lên.
  • Gradle 2.3 trở lên.
  • Có quyền truy cập vào Internet và trình duyệt web.
  • Tài khoản Google.

Bước 1: Thiết lập dự án và thông tin đăng nhập

Tạo hoặc chọn một dự án trong Cloud Console. Hoàn tất các tác vụ sau trong Cloud Console cho dự án của bạn:

  1. Trong bảng điều khiển thư viện, hãy tìm YouTube Data API phiên bản 3. Nhấp vào trang thông tin của API đó và đảm bảo API được bật cho dự án của bạn.

  2. Trong bảng thông tin đăng nhập, hãy tạo hai thông tin đăng nhập:

    1. Tạo khoá API Bạn sẽ dùng khoá API để thực hiện các yêu cầu API không yêu cầu uỷ quyền của người dùng. Ví dụ: bạn không cần có sự cho phép của người dùng để truy xuất thông tin về một kênh YouTube công khai.

    2. Tạo mã ứng dụng OAuth 2.0 Đặt loại ứng dụng thành Ứng dụng dành cho máy tính. Bạn cần sử dụng thông tin xác thực OAuth 2.0 cho các yêu cầu cần có sự uỷ quyền của người dùng. Ví dụ: bạn cần có sự uỷ quyền của người dùng để truy xuất thông tin về kênh YouTube của người dùng hiện đang được xác thực.

      Tải tệp JSON chứa thông tin đăng nhập OAuth 2.0 xuống. Tệp này có tên như client_secret_CLIENTID.json, trong đó CLIENTID là mã ứng dụng khách cho dự án của bạn.

Bước 2: Chuẩn bị dự án

Hãy hoàn tất các bước sau để chuẩn bị dự án Gradle:

  1. Trong thư mục làm việc, hãy chạy các lệnh sau để tạo một cấu trúc dự án mới:

    $ gradle init --type basic
    $ mkdir -p src/main/java src/main/resources
    
  2. Di chuyển tệp JSON mà bạn đã tải xuống sau khi tạo mã ứng dụng khách OAuth 2.0 vào thư mục src/main/resources bên dưới thư mục làm việc của bạn, rồi đổi tên tệp thành client_secret.json.

  3. Mở tệp build.gradle trong thư mục làm việc của bạn và thay thế nội dung của tệp đó bằng nội dung sau:

    apply plugin: 'java'
    apply plugin: 'application'
    
    mainClassName = 'ApiExample'
    sourceCompatibility = 1.7
    targetCompatibility = 1.7
    version = '1.0'
    
    repositories {
        mavenCentral()
    }
    
    dependencies {
        compile 'com.google.api-client:google-api-client:1.23.0'
        compile 'com.google.oauth-client:google-oauth-client-jetty:1.23.0'
        compile 'com.google.apis:google-api-services-youtube:v3-revREVISION-CL_VERSION'
    }
  4. Trong tệp build.gradle, bạn cần thay thế các biến REVISIONCL_VERSION bằng hai giá trị trong tài liệu thư viện ứng dụng cho YouTube Data API. Ảnh chụp màn hình bên dưới (cho thấy tài liệu về YouTube Analytics API) minh hoạ vị trí xuất hiện của hai biến này trên trang.

    Ảnh chụp màn hình tài liệu tham khảo JavaDoc cho biết cách tìm giá trị cho các biến "REVISION" và "CL_VERSION"

Bước 3: Thiết lập và chạy mẫu

Sử dụng tiện ích APIs Explorer trong bảng điều khiển bên để lấy mã mẫu nhằm truy xuất thông tin về kênh YouTube GoogleDevelopers. Yêu cầu này sử dụng khoá API để xác định ứng dụng của bạn và không yêu cầu người dùng uỷ quyền hoặc bất kỳ quyền đặc biệt nào từ người dùng đang chạy mẫu.

  1. Mở tài liệu về phương thức channels.list của API.
  2. Trên trang đó, phần "Các trường hợp sử dụng phổ biến" có một bảng giải thích một số cách phổ biến mà phương thức này được sử dụng. Mục đầu tiên trong bảng là để liệt kê kết quả theo mã nhận dạng kênh.

    Nhấp vào biểu tượng mã cho mục đầu tiên để mở và điền thông tin vào Trình khám phá API ở chế độ toàn màn hình.

    Hình ảnh xác định vị trí của đường liên kết đến biểu tượng mã trong bảng liệt kê các trường hợp sử dụng cho tài liệu channels.list. Văn bản thay thế cho hình ảnh đó xác định hình ảnh là một biểu tượng mã và chỉ định trường hợp sử dụng được liên kết với đường liên kết đó.

  3. Phía bên trái của APIs Explorer toàn màn hình cho thấy những nội dung sau:

    1. Bên dưới tiêu đề Tham số yêu cầu, có một danh sách các tham số mà phương thức này hỗ trợ. Bạn nên đặt giá trị tham số partid. Giá trị tham số id, UC_x5XG1OV2P6uZZ5FSM9Ttw, là mã nhận dạng của kênh YouTube GoogleDevelopers.

    2. Bên dưới các tham số, có một phần có tên là Credentials (Thông tin đăng nhập). Trình đơn kéo xuống trong phần đó sẽ hiển thị giá trị Khoá API. Theo mặc định, APIs Explorer sử dụng thông tin đăng nhập minh hoạ để giúp bạn dễ dàng bắt đầu. Tuy nhiên, bạn sẽ dùng khoá API của riêng mình để chạy mẫu cục bộ.

      Hình ảnh cho thấy "Thông tin đăng nhập" trong APIs Explorer ở chế độ toàn màn hình và trình đơn kéo xuống có lựa chọn "Khoá API" được chọn.

  4. Ở bên phải của API Explorer ở chế độ toàn màn hình, bạn sẽ thấy các thẻ có mẫu mã bằng nhiều ngôn ngữ. Chọn thẻ Java.

  5. Sao chép mã mẫu rồi lưu vào một tệp có tên là src/main/java/ApiExample.java. Mọi mẫu đều sử dụng cùng một tên lớp (ApiExample) để bạn không cần sửa đổi tệp build.gradle để chạy các mẫu khác nhau.

  6. Trong mẫu mà bạn đã tải xuống, hãy tìm chuỗi YOUR_API_KEY rồi thay thế chuỗi đó bằng khoá API mà bạn đã tạo ở bước 1 của hướng dẫn bắt đầu nhanh này.

  7. Chạy mẫu từ dòng lệnh. Trong thư mục đang làm việc, hãy chạy:

    gradle -q run

  8. Mẫu này sẽ thực thi yêu cầu và in phản hồi vào STDOUT.

Bước 4: Chạy một yêu cầu được uỷ quyền

Trong bước này, bạn sẽ sửa đổi mẫu mã để thay vì truy xuất thông tin về kênh YouTube GoogleDevelopers, mẫu mã sẽ truy xuất thông tin về kênh YouTube của bạn. Yêu cầu này bắt buộc phải có sự uỷ quyền của người dùng.

  1. Quay lại tài liệu về phương thức channels.list của API.

  2. Trong phần "Các trường hợp sử dụng phổ biến", hãy nhấp vào biểu tượng mã cho mục thứ ba trong bảng. Trường hợp sử dụng đó là gọi phương thức list cho "kênh của tôi".

  3. Một lần nữa, ở bên trái của APIs Explorer ở chế độ toàn màn hình, bạn sẽ thấy danh sách các tham số, theo sau là phần Thông tin đăng nhập. Tuy nhiên, có 2 thay đổi so với ví dụ mà bạn truy xuất thông tin về kênh GoogleDevelopers:

    1. Trong phần tham số, thay vì đặt giá trị tham số id, bạn nên đặt giá trị tham số mine thành true. Thao tác này hướng dẫn máy chủ API truy xuất thông tin về kênh của người dùng hiện đã xác thực.

    2. Trong phần Credentials (Thông tin đăng nhập), trình đơn kéo xuống phải chọn lựa chọn Google OAuth 2.0.

      Ngoài ra, nếu bạn nhấp vào đường liên kết Hiện phạm vi, bạn nên đánh dấu vào phạm vi https://www.googleapis.com/auth/youtube.readonly.

      Hình ảnh cho thấy các phạm vi trong APIs Explorer ở chế độ toàn màn hình và lựa chọn sử dụng thông tin đăng nhập "Google OAuth 2.0" đã chọn.

  4. Tương tự như ví dụ trước, hãy chọn thẻ Java, sao chép mã mẫu và lưu vào src/main/java/ApiExample.java.

  5. Chạy mẫu từ dòng lệnh. Trong thư mục đang làm việc, hãy chạy:

    gradle -q run

  6. Mẫu này sẽ cố gắng mở một cửa sổ hoặc thẻ mới trong trình duyệt mặc định của bạn. Nếu không thành công, hãy sao chép URL từ thiết bị đầu cuối và mở URL đó theo cách thủ công trong trình duyệt.

    Nếu chưa đăng nhập vào Tài khoản Google, bạn sẽ được nhắc đăng nhập. Nếu đã đăng nhập vào nhiều Tài khoản Google, bạn sẽ được yêu cầu chọn một tài khoản để dùng cho việc uỷ quyền.

  7. Nhấp vào nút này để cấp cho ứng dụng của bạn quyền truy cập vào các phạm vi được chỉ định trong mẫu mã.

  8. Mẫu sẽ tự động tiếp tục và bạn có thể đóng thẻ trình duyệt dùng cho quy trình uỷ quyền.

    Nội dung phản hồi API sẽ được in lại vào STDOUT.

Tài liệu đọc thêm