OAuth

Lưu ý: Tài liệu này mô tả quy trình OAuth2 chân gồm ba bước dùng để yêu cầu quyền truy cập vào dữ liệu của các bên khác. Hãy sử dụng quy trình xác thực này nếu bạn đang phát triển một ứng dụng bên thứ ba cần truy cập vào tài khoản Merchant Center của khách hàng của bạn. Nếu bạn đang phát triển một ứng dụng nội bộ chỉ dành cho tài khoản Merchant Center, vui lòng xem hướng dẫn về Tài khoản dịch vụ.

Mọi yêu cầu mà ứng dụng của bạn gửi tới Google Content API for Shopping phải bao gồm mã cấp phép. Mã này cũng giúp Google xác định ứng dụng của bạn.

Giới thiệu về giao thức cấp phép

Ứng dụng của bạn phải sử dụng OAuth 2.0 để cấp phép các yêu cầu. Chúng tôi không hỗ trợ giao thức cấp phép nào khác. Nếu ứng dụng của bạn sử dụng chức năng Đăng nhập bằng Google, thì Google sẽ giúp bạn xử lý một số bước trong quá trình cấp phép.

Cấp phép cho các yêu cầu bằng OAuth 2.0

Tất cả các yêu cầu đến Google Content API for Shopping phải do người dùng đã xác thực cấp phép.

Các chi tiết của quy trình cấp phép đối với OAuth 2.0 sẽ khác nhau đôi chút tuỳ thuộc vào loại ứng dụng bạn đang viết. Quy trình chung sau đây áp dụng cho tất cả các loại ứng dụng:

  1. Khi tạo ứng dụng của mình, bạn sẽ đăng ký ứng dụng bằng Google API Console. Sau đó, Google cung cấp thông tin bạn sẽ cần sau này, chẳng hạn như ID ứng dụng khách và khoá bí mật của ứng dụng.
  2. Kích hoạt Google Content API for Shopping trong Google API Console. (Nếu API không được liệt kê trong API Console, thì hãy bỏ qua bước này.)
  3. Khi cần quyền truy cập vào dữ liệu người dùng, ứng dụng sẽ yêu cầu Google cung cấp phạm vi truy cập cụ thể.
  4. Google hiển thị màn hình yêu cầu sự đồng ý cho người dùng để hỏi xem họ có cho phép ứng dụng của bạn yêu cầu một số dữ liệu của họ hay không.
  5. Nếu người dùng đồng ý, thì Google sẽ cấp cho ứng dụng của bạn một mã truy cập ngắn hạn.
  6. Sau đó, ứng dụng yêu cầu dữ liệu người dùng và đính kèm mã truy cập trong yêu cầu.
  7. Nếu xác định rằng yêu cầu của bạn và mã này là hợp lệ, Google sẽ trả về dữ liệu mà ứng dụng yêu cầu.

Một số quy trình cấp phép có các bước bổ sung khác, chẳng hạn như sử dụng mã làm mới để lấy mã truy cập mới. Để biết thông tin chi tiết về quy trình cho các loại ứng dụng khác nhau, hãy xem tài liệu về OAuth 2.0 của Google.

Dưới đây là thông tin về phạm vi truy cập của OAuth 2.0 cho Google Content API for Shopping:

Phạm vi Ý nghĩa
https://www.googleapis.com/auth/content Quyền đọc/ghi

Để yêu cầu quyền truy cập bằng OAuth 2.0, ứng dụng của bạn cần thông tin về mức truy cập, cũng như thông tin mà Google cung cấp khi bạn đăng ký ứng dụng của mình (chẳng hạn như ID ứng dụng khách và khoá bí mật của ứng dụng).

Mẹo: Thư viện ứng dụng API Google có thể xử lý một số bước trong quy trình cấp phép cho bạn. Thư viện này được cung cấp bằng nhiều ngôn ngữ lập trình. Hãy xem trang về các thư viện và mẫu để biết thêm chi tiết.

Nhận phạm vi OAuth

Bạn nên sử dụng tính năng uỷ quyền gia tăng để tránh các vấn đề liên quan đến việc lựa chọn phạm vi.

Theo mặc định, phạm vi OAuth sẽ được bỏ chọn trong màn hình xin phép ứng dụng nếu bạn yêu cầu nhiều hơn một phạm vi. Khi ứng dụng đưa ra màn hình xin phép cho người dùng, họ phải chọn thủ công từng phạm vi để cho phép truy cập.

Hãy kiểm tra phản hồi từ một yêu cầu OAuth để xác minh rằng bạn đã nhận được phạm vi thích hợp.

Hãy xem trang Chính sách về OAuth 2.0 để biết thêm thông tin.

Yêu cầu xác minh ứng dụng

Bất kỳ ứng dụng nào truy cập vào Content API đều phải trải qua quy trình xem xét quy trình xác minh OAuth. Người dùng các ứng dụng chưa được xác minh truy cập vào Content API sẽ nhận được cảnh báo và ứng dụng đó sẽ bị giới hạn chức năng. Trong bối cảnh này, ứng dụng được xác định là mã ứng dụng khách OAuth 2.0 duy nhất trong Google Cloud.

Quy trình xác minh thường mất 3 đến 5 ngày làm việc để hoàn tất. Để tìm hiểu thêm về quy trình và gửi yêu cầu xác minh, hãy tham khảo phần Xác minh cho ứng dụng.

Chính sách này áp dụng cho tất cả ứng dụng và mọi ứng dụng đều nên thực hiện quy trình xác minh OAuth của Google càng sớm càng tốt để tránh việc gián đoạn kinh doanh.

Ví dụ về ủy quyền

Mã sau đây minh hoạ cách định cấu hình ứng dụng và cho phép các yêu cầu bằng OAuth 2.0 cho ứng dụng web. Các ngôn ngữ khác có sẵn trên trang Mẫu và Thư viện của chúng tôi.

PHP

Ví dụ này sử dụng quy trình Ứng dụng web. URI chuyển hướng phải là URI của trang PHP này.

<?php
require_once 'Google/Client.php';

session_start();

$client = new Google_Client();
$client->setApplicationName('Sample Content API application');
$client->setClientId('YOUR_CLIENT_ID');
$client->setClientSecret('YOUR_CLIENT_SECRET');
$client->setRedirectUri('YOUR_REDIRECT_URI');
$client->setScopes('https://www.googleapis.com/auth/content');

if (isset($_SESSION['oauth_access_token'])) {
  $client->setAccessToken($_SESSION['oauth_access_token']);
} elseif (isset($_GET['code'])) {
  $token = $client->authenticate($_GET['code']);
  $_SESSION['oauth_access_token'] = $token;
} else {
  header('Location: ' . $client->createAuthUrl());
  exit;
}

Bây giờ, bạn đã xác thực, bạn có thể tạo một đối tượng Dịch vụ để tạo yêu cầu API.

require_once 'Google/Service/ShoppingContent.php';

$service = new Google_Service_ShoppingContent($client);