Thực thi mẫu mã

Trình khám phá API của Google sẽ tạo mã mẫu một cách linh động. Các mã mẫu này được thiết kế để sao chép và chạy cục bộ. Để xem các mẫu, hãy nhấp vào biểu tượng Màn hình toàn cảnh trong bảng điều khiển bên của Trình khám phá API. Hình dưới đây cho thấy Trình khám phá API toàn màn hình mở rộng:

Bảng điều khiển toàn màn hình của API Explorer cho Google Books API
Hình 2: Bảng điều khiển toàn màn hình của API Explorer cho API Google Sách.

Theo mặc định, Trình khám phá API sẽ hiển thị cách sử dụng cURL để thực thi yêu cầu của bạn. Một số API cũng có thể hiển thị các mẫu cho các ngôn ngữ khác, chẳng hạn như JavaScript, Java và Python.

Chạy mã mẫu trên máy

Các thẻ sau đây giải thích các điều kiện tiên quyết và các bước để chạy mã mẫu. Để chạy các mã mẫu, bạn phải tạo và sử dụng thông tin xác thực uỷ quyền của riêng mình. Để biết nội dung giải thích về cách tạo dự án và tạo thông tin xác thực, hãy tham khảo tài liệu của API Google cụ thể.

Thông tin xác thực là một trong những thông tin sau, tuỳ thuộc vào loại dữ liệu (công khai hoặc riêng tư) mà phương thức đang truy cập:

  • Đối với dữ liệu công khai, thông tin xác thực là khoá API.
  • Đối với dữ liệu riêng tư, thông tin xác thực là tệp client_secret.json chứa mã ứng dụng khách và khoá bí mật của ứng dụng khách OAuth 2.0 hoặc mã truy cập OAuth 2.0.

cURL

Thiết lập

  1. Làm theo hướng dẫn trong tài liệu về API để tạo hoặc chọn một dự án cho ứng dụng và bật API.
  2. Trong bảng điều khiển trên đám mây, hãy tạo một khoá API.
  3. Trong bảng điều khiển trên đám mây, hãy tạo thông tin xác thực mã ứng dụng khách OAuth cho một ứng dụng web và sử dụng https://developers.google.com/oauthplayground làm URI chuyển hướng.
  4. Trong OAuth 2.0 Playground, nhấp vào OAuth 2.0 Configuration (Cấu hình OAuth 2.0) .
  5. Đánh dấu vào Sử dụng thông tin đăng nhập của riêng bạn.
  6. Nhập mã ứng dụng khách và mật khẩu ứng dụng khách đã tạo ở bước 3.
  7. Trong trường phạm vi, hãy nhập phạm vi để sử dụng với phương thức của bạn rồi nhấp vào Uỷ quyền API.
  8. (không bắt buộc) Nếu bạn thấy màn hình Đăng nhập, hãy chọn tài khoản mà bạn muốn sử dụng.
  9. (không bắt buộc) Nếu bạn thấy màn hình uỷ quyền, hãy nhấp vào Chấp nhận.
  10. Nhấp vào Đổi mã uỷ quyền lấy mã thông báo. Hệ thống sẽ trả về một mã thông báo.
  11. Trong mẫu mã cURL, hãy thay thế [YOUR_API_KEY] bằng khoá API được tạo ở bước 2: 'https://www.googleapis.com/drive/v3/files?key=[YOUR_API_KEY]' \
  12. Trong mã mẫu cURL, hãy thay thế [YOUR_ACCESS_TOKEN] bằng mã truy cập được tạo ở bước 10: --header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \

Thực thi mã mẫu

Trên dòng lệnh, hãy thực thi lệnh cURL. Lệnh sẽ tương tự như sau:

curl \
'https://www.googleapis.com/drive/v3/files?key=AIzaSyBiKcaoXmVApwnT24hitQG_dwjGvAj6Ddw' \
--header 'Authorization: Bearer ya29.a0ARrdaM_yQn9MWBpJgKPx880BSnRYIizRYIDz0JN9e66nSliIYpqNXmPsvv2ccfplCTG_U4b1' \
--header 'Accept: application/json' \
--compressed

JavaScript

Thiết lập

  1. Làm theo hướng dẫn trong tài liệu về API để tạo hoặc chọn một dự án cho ứng dụng và bật API.
  2. Trong bảng điều khiển trên đám mây, hãy tạo một khoá API.
  3. Trong bảng điều khiển trên đám mây, hãy tạo thông tin xác thực mã ứng dụng khách OAuth cho "Ứng dụng web" và đặt nguồn gốc JavaScript được uỷ quyền để xác định URL mà bạn sẽ gửi yêu cầu, chẳng hạn như http://localhost.
  4. Sao chép toàn bộ mã mẫu vào một tệp cục bộ mà máy chủ web của bạn có thể truy cập, chẳng hạn như /var/www/html/example.html.
  5. Tìm dòng trong mã mẫu đặt khoá API hoặc mã ứng dụng và thay thế giá trị bằng các giá trị được tạo ở bước 2 và 3:

    • Khoá API: gapi.client.setApiKey(YOUR_API_KEY);
    • Mã ứng dụng OAuth 2.0: gapi.client.init({ 'clientId': 'YOUR_CLIENT_ID',

Thực thi mã mẫu

  1. Mở tệp trong trình duyệt, chẳng hạn như http://localhost/example.html. Bạn nên sử dụng một trình duyệt có bảng điều khiển gỡ lỗi, chẳng hạn như Google Chrome.
  2. (không bắt buộc) Nếu bạn thấy màn hình Đăng nhập, hãy chọn tài khoản mà bạn muốn sử dụng.
  3. (không bắt buộc) Nếu bạn thấy màn hình uỷ quyền, hãy nhấp vào Chấp nhận. Bảng điều khiển gỡ lỗi sẽ hiển thị phản hồi phương thức dưới dạng đối tượng JSON.

Java

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

  • Java 1.7 trở lên.
  • Gradle 7 trở lên.

Thiết lập

  1. Làm theo hướng dẫn trong tài liệu về API để tạo hoặc chọn một dự án cho ứng dụng và bật API.
  2. Tuỳ thuộc vào loại dữ liệu mà phương thức đang truy cập, hãy tạo khoá API (dữ liệu công khai) hoặc tạo mã ứng dụng khách OAuth 2.0 (dữ liệu riêng tư).
  3. Đặt loại ứng dụng thành Ứng dụng dành cho máy tính.
  4. Nếu bạn đã tạo mã ứng dụng khách OAuth 2.0, hãy tải tệp JSON chứa thông tin xác thực OAuth 2.0 xuống. Tệp này có tên tương tự như client_secret_CLIENTID.json, trong đó CLIENTID là mã ứng dụng cho dự án của bạn.
  5. Trong thư mục đang hoạt động, 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
    
  6. Nếu bạn đã tạo mã ứng dụng khách OAuth 2.0 ở bước 2, hãy đổi tên tệp JSON mà bạn tải xuống thành client_secret.json.

  7. Lưu tệp đã đổi tên trong thư mục src/main/resources mà bạn đã tạo ở bước 5.

  8. Trong thư mục đang hoạt động, hãy mở tệp build.gradle 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'
        API_SPECIFIC_DEPENDENCY
    }
    
  9. Trong tệp build.gradle, hãy thay thế dòng có nội dung API_SPECIFIC_DEPENDENCY bằng hướng dẫn biên dịch mã cho API mà bạn đang gọi. Dưới đây là ví dụ về YouTube Analytics API:

    compile 'com.google.apis:google-api-services-youtubeAnalytics:v2-rev16-1.23.0'
    

    Hướng dẫn này tuân theo mẫu sau:

    compile 'com.google.apis:google-api-services-API_NAME:API_VERSION-   revREVISION-CL_VERSION'
    

Trong trường hợp:

  • API_NAME là tên API được liệt kê trên GitHub cho API. Để tìm tên, hãy nhấp vào đường liên kết phiên bản bên cạnh API của bạn trên trang API Google được hỗ trợ. Đường liên kết phiên bản sẽ chuyển đến GitHub. Tên API nằm ở giữa phía trên của trang và đứng trước googleapis/google-apis-services-. Ví dụ: đối với phiên bản 3 của API Drive, API_NAMEdrive.
  • API_VERSION là phiên bản API được liệt kê cho API bên dưới tên API trên trang API được hỗ trợ của Google.
  • REVISION là số bản sửa đổi được liệt kê trong tài liệu tham khảo JavaDoc cho API. Bạn có thể tìm thấy tài liệu tham khảo JavaDoc tại https://googleapis.dev/java/google-api-services-API_NAME/latest/index.html
  • CL_VERSION là phiên bản thư viện ứng dụng. Giá trị này cũng xuất hiện trong tài liệu tham khảo JavaDoc.
  • Trong thư mục đang hoạt động, hãy sao chép mã mẫu từ Trình khám phá API vào src/main/java/ApiExample.java. (Tên lớp trong mỗi mẫu là ApiExample để bạn không cần sửa đổi tệp build.gradle để chạy các mẫu khác nhau.

Thực thi mã mẫu

Sử dụng lệnh sau để chạy ví dụ:

  gradle -q run

Mẫu này sẽ thực thi yêu cầu API và in phản hồi vào STDOUT. Bạn cũng có thể kiểm tra dịch vụ mà bạn đang gọi để xem hiệu quả của các yêu cầu ghi dữ liệu.

Node.js

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

  • Node.js
  • Thư viện ứng dụng API của Google cho Node.js:

    • Nếu bạn chưa cài đặt thư viện ứng dụng, hãy chạy lệnh sau:
    npm install googleapis --save
    
    • Nếu trước đây bạn đã cài đặt thư viện ứng dụng, bạn nên cập nhật thư viện đó để đảm bảo rằng bạn có các lớp mới nhất cho thư viện mà bạn đang kiểm thử. Để cập nhật thư viện ứng dụng, hãy chạy lệnh:
    npm update googleapis --save
    

Thiết lập

  1. Làm theo hướng dẫn trong tài liệu về API để tạo hoặc chọn một dự án cho ứng dụng và bật API.
  2. Tuỳ thuộc vào loại dữ liệu mà phương thức đang truy cập, hãy tạo khoá API (dữ liệu công khai) hoặc tạo mã ứng dụng khách OAuth 2.0 (dữ liệu riêng tư).
  3. Đặt loại ứng dụng thành Ứng dụng dành cho máy tính.
  4. Nếu bạn đã tạo mã ứng dụng khách OAuth 2.0, hãy tải tệp JSON chứa thông tin xác thực OAuth 2.0 xuống. Tệp này có tên tương tự như client_secret_CLIENTID.json, trong đó CLIENTID là mã ứng dụng cho dự án của bạn.
  5. Sao chép mã mẫu vào một tệp cục bộ và sửa đổi mẫu để xác định chính xác khoá API hoặc tệp bí mật của ứng dụng. Trong mẫu, giá trị khoá API là YOUR_API_KEY và vị trí tệp khoá bí mật của ứng dụng khách là YOUR_CLIENT_SECRET_FILE.json.

Thực thi mã mẫu

Sử dụng lệnh sau để chạy ví dụ:

  node sample.js

Hầu hết các mẫu đều in phản hồi API (hoặc nội dung khác) vào STDOUT.

PHP

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

  • PHP 5.4 trở lên có giao diện dòng lệnh (CLI) và tiện ích JSON.
  • Công cụ quản lý phần phụ thuộc của Compose được cài đặt trên toàn hệ thống.
  • Thư viện ứng dụng API của Google cho PHP:

    • Nếu bạn chưa cài đặt thư viện ứng dụng, hãy chạy lệnh sau:

      composer require google/apiclient:^2.0
      
    • Nếu trước đây bạn đã cài đặt thư viện ứng dụng, bạn nên cập nhật thư viện đó để đảm bảo rằng bạn có các lớp mới nhất cho thư viện mà bạn đang kiểm thử. Để cập nhật thư viện ứng dụng, hãy chạy lệnh:

      composer update google/apiclient --with-dependencies
      

Thực thi mã mẫu

Sử dụng lệnh sau để chạy ví dụ:

  php sample.php

Hầu hết các mẫu đều in phản hồi API (hoặc nội dung khác) vào STDOUT.

Python

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

  • Python 2.7 hoặc Python 3.5 trở lên
  • Công cụ quản lý gói pip
  • Thư viện ứng dụng API của Google cho Python:

    pip install --upgrade google-api-python-client
    
  • Thư viện google-auth-oauthlibgoogle-auth-httplib2 để uỷ quyền cho người dùng:

    pip install --upgrade google-auth-oauthlib google-auth-httplib2
    

Thiết lập

  1. Làm theo hướng dẫn trong tài liệu về API để tạo hoặc chọn một dự án cho ứng dụng và bật API.
  2. Tuỳ thuộc vào loại dữ liệu mà phương thức đang truy cập, hãy tạo khoá API (dữ liệu công khai) hoặc tạo mã ứng dụng khách OAuth 2.0 (dữ liệu riêng tư).
  3. Đặt loại ứng dụng thành Ứng dụng dành cho máy tính.
  4. Nếu bạn đã tạo mã ứng dụng khách OAuth 2.0, hãy tải tệp JSON chứa thông tin xác thực OAuth 2.0 xuống. Tệp này có tên tương tự như client_secret_CLIENTID.json, trong đó CLIENTID là mã ứng dụng cho dự án của bạn.
  5. Sao chép mã mẫu vào một tệp cục bộ và sửa đổi mẫu để xác định chính xác khoá API hoặc tệp bí mật của ứng dụng. Trong mẫu, giá trị khoá API là YOUR_API_KEY và vị trí tệp khoá bí mật của ứng dụng khách là YOUR_CLIENT_SECRET_FILE.json.

Thực thi mã mẫu

Sử dụng lệnh sau để chạy ví dụ:

  python sample.py

Hầu hết các mẫu đều in phản hồi API (hoặc nội dung khác) vào STDOUT.

Ruby

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

  • Ruby 2.0 trở lên
  • Thư viện ứng dụng API của Google cho Ruby:

    gem install google-api-client`
    

Thiết lập

  1. Làm theo hướng dẫn trong tài liệu về API để tạo hoặc chọn một dự án cho ứng dụng và bật API.
  2. Tuỳ thuộc vào loại dữ liệu mà phương thức đang truy cập, hãy tạo khoá API (dữ liệu công khai) hoặc tạo mã ứng dụng khách OAuth 2.0 (dữ liệu riêng tư).
  3. Đặt loại ứng dụng thành Ứng dụng dành cho máy tính.
  4. Nếu bạn đã tạo mã ứng dụng khách OAuth 2.0, hãy tải tệp JSON chứa thông tin xác thực OAuth 2.0 xuống. Tệp này có tên tương tự như client_secret_CLIENTID.json, trong đó CLIENTID là mã ứng dụng cho dự án của bạn.
  5. Sao chép mã mẫu vào một tệp cục bộ và sửa đổi mẫu để xác định chính xác khoá API hoặc tệp bí mật của ứng dụng. Trong mẫu, giá trị khoá API là YOUR_API_KEY và vị trí tệp khoá bí mật của ứng dụng khách là YOUR_CLIENT_SECRET_FILE.json.

Thực thi mã mẫu

Sử dụng lệnh sau để chạy ví dụ:

  ruby sample.rb

Hầu hết các mẫu đều in phản hồi API (hoặc nội dung khác) vào STDOUT.

Khắc phục sự cố về mẫu

Hộp thoại uỷ quyền không xuất hiện

Trình khám phá API sử dụng một cửa sổ bật lên để cấp quyền truy cập vào dữ liệu riêng tư của bạn. Nếu trình duyệt của bạn chặn cửa sổ bật lên, cửa sổ bật lên này sẽ không xuất hiện và bạn sẽ không thể cấp quyền truy cập.

Nếu bạn nhấp vào "Cho phép" trong màn hình uỷ quyền nhưng không có gì xảy ra, hãy thử thay đổi chế độ cài đặt cửa sổ bật lên của trình duyệt để bật cửa sổ bật lên.

Nhận lỗi 401 hoặc 403

Nếu bạn gặp lỗi 401 hoặc 403 khi kiểm thử một mẫu, thì có thể là do một trong các vấn đề sau:

  • API chưa được bật cho dự án của bạn. Xem hướng dẫn về API của bạn về cách tạo dự án và bật API.
  • Bạn đang sử dụng sai loại uỷ quyền (khoá API thay vì OAuth 2.0).
  • Bạn đang sử dụng OAuth 2.0 nhưng phạm vi quá hẹp.
  • Khi thiết lập khoá API, bạn sẽ thiết lập các quy tắc hạn chế để ngăn chặn việc sử dụng trái phép thông tin xác thực của mình. Tuy nhiên, yêu cầu này không đáp ứng các quy định hạn chế đó. Để biết thêm thông tin, hãy tham khảo bài viết Sử dụng các quy tắc hạn chế đối với khoá API.

Nhận cảnh báo về nội dung hỗn hợp

Nếu bạn sử dụng Điểm cuối Google Cloud và đang chạy điểm cuối trong một máy chủ phát triển, trình duyệt của bạn có thể đưa ra cảnh báo về nội dung hỗn hợp. Cảnh báo này xảy ra vì Trình khám phá API được tải qua HTTPS, nhưng khi API chạy cục bộ, API đó được lưu trữ trên HTTP.

Để ẩn cảnh báo này bằng Chrome, hãy bắt đầu một phiên Chrome bằng các cờ đặc biệt như sau:

path/to/chrome --user-data-dir=test --unsafely-treat-insecure-origin-as-secure=http://localhost:port

Ví dụ:

/usr/bin/google-chrome-stable --user-data-dir=test --unsafely-treat-insecure-origin-as-secure=http://localhost:8080

Bạn chỉ nên ẩn cảnh báo này cho mục đích kiểm thử cục bộ.

Chỉ JavaScript: gapi chưa được xác định

Lỗi "gapi is not defined" (gapi không được xác định) xảy ra khi mã JavaScript cố gắng gọi Thư viện ứng dụng API của Google cho JavaScript trước khi thư viện tải. Đảm bảo rằng mã tham chiếu đến biến gapi sẽ không được gọi cho đến khi thư viện ứng dụng tải xong.