OAuth

Lưu ý: Tài liệu này mô tả Luồng OAuth2 ba bên được dùng để yêu cầu quyền truy cập vào 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 của bên thứ ba cần quyền truy cập vào Tài khoản Merchant Center. Nếu bạn đang phát triển một ứng dụng nội bộ sẽ chỉ truy cập vào tài khoản Merchant Center của chính bạn, vui lòng xem Dịch vụ Tài khoản.

Mọi yêu cầu mà ứng dụng của bạn gửi tới Google Content API for Shopping đều phải bao gồm mã thông báo uỷ quyền. 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 gửi tới 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ư mã ứng dụng khách và mật khẩu ứng dụng khách.
  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 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ư mã ứng dụng khách và mật khẩu ứng dụng khách).

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.

Tải phạm vi của OAuth

Bạn nên sử dụng thuộc tính tăng dần uỷ quyền để tránh vấn đề với việc lựa chọn phạm vi.

Các phạm vi của OAuth bỏ chọn theo mặc định trong màn hình xin phép của ứng dụng nếu bạn yêu cầu nhiều lần. Khi ứng dụng của bạn hiển thị màn hình xin phép cho người dùng, họ phải tự chọn từng phạm vi để cấp quyền truy cập.

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 các phạm vi phù hợp.

Xem trang Chính sách của OAuth 2.0 để biết thêm chi tiết.

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

Mọi ứng dụng truy cập vào Content API đều phải trải qua quy trình xem xét phương thức xác minh OAuth. Người dùng Những ứng dụng chưa được xác minh mà truy cập vào Content API sẽ nhận cảnh báo và những ứng dụng đó sẽ bị hạn chế chức năng. Trong trường hợp này, ứng dụng được định nghĩa 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 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 bài viết Xác minh cho ứng dụng.

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

Ví dụ về việc uỷ quyền

Mã sau đây minh hoạ cách định cấu hình ứng dụng và uỷ quyền cho các yêu cầu bằng OAuth 2.0 cho các ứng dụng web. Bạn có thể xem các ngôn ngữ khác trên trang Mẫu và thư viện của chúng tôi.

PHP

Ví dụ này sử dụng luồng Ứ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ờ, sau khi xác thực, bạn có thể tạo đối tượng Service (Dịch vụ) để tạo yêu cầu API.

require_once 'Google/Service/ShoppingContent.php';

$service = new Google_Service_ShoppingContent($client);