OAuth

หมายเหตุ: เอกสารนี้จะอธิบาย ขั้นตอนแบบ 3 ทาง OAuth2 ที่ใช้เพื่อขอสิทธิ์เข้าถึงของบุคคลอื่น ใช้ขั้นตอนการตรวจสอบสิทธิ์นี้หากคุณกำลังพัฒนา แอปพลิเคชันของบุคคลที่สามที่ต้องการสิทธิ์เข้าถึงของไคลเอ็นต์ บัญชี Merchant Center หากคุณพัฒนาแอปพลิเคชันภายในองค์กรที่ จะเข้าถึงได้เฉพาะบัญชี Merchant Center ของคุณเอง โปรดดูที่ บริการ ของบัญชีแทน

ทุกคำขอที่แอปพลิเคชันส่งไปยัง Google Content API for Shopping จะต้องมีโทเค็นการให้สิทธิ์ โทเค็นดังกล่าวจะระบุตัวตนแอปพลิเคชันของคุณให้ Google ทราบด้วย

เกี่ยวกับโปรโตคอลการให้สิทธิ์

แอปพลิเคชันต้องใช้ OAuth 2.0 เพื่อให้สิทธิ์คำขอ ระบบไม่รองรับโปรโตคอลการให้สิทธิ์อื่นๆ หากแอปพลิเคชันใช้ลงชื่อเข้าใช้ด้วย Google ระบบจะจัดการการให้สิทธิ์บางส่วนแก่คุณ

การให้สิทธิ์คำขอด้วย OAuth 2.0

คำขอทั้งหมดที่ส่งไปยัง Google Content API for Shopping จะต้องได้รับสิทธิ์จากผู้ใช้ที่ตรวจสอบสิทธิ์แล้ว

รายละเอียดของกระบวนการให้สิทธิ์หรือ "ขั้นตอน" ของ OAuth 2.0 จะแตกต่างกันไปโดยขึ้นอยู่กับประเภทของแอปพลิเคชันที่คุณเขียน แอปพลิเคชันทุกประเภทจะใช้กระบวนการทั่วไปต่อไปนี้

  1. เมื่อสร้างแอปพลิเคชัน คุณจะลงทะเบียนแอปได้โดยใช้คอนโซล Google API จากนั้น Google จะให้ข้อมูลที่คุณต้องใช้ในภายหลัง เช่น รหัสไคลเอ็นต์และรหัสลับไคลเอ็นต์
  2. เปิดใช้งาน Google Content API for Shopping ในคอนโซล Google API (หากไม่เห็น API ดังกล่าวในคอนโซล API ให้ข้ามขั้นตอนนี้ไป)
  3. เมื่อแอปพลิเคชันต้องการเข้าถึงข้อมูลผู้ใช้ แอปจะขอขอบเขตการเข้าถึงที่จำเป็นจาก Google
  4. Google จะแสดงหน้าจอขอคำยินยอมแก่ผู้ใช้เพื่อขอให้ผู้ใช้ให้สิทธิ์แอปพลิเคชันของคุณในการขอข้อมูลบางอย่างของผู้ใช้
  5. หากผู้ใช้อนุมัติ Google จะให้โทเค็นเพื่อการเข้าถึงที่มีอายุชั่วคราวแก่แอปพลิเคชันของคุณ
  6. แอปพลิเคชันขอข้อมูลผู้ใช้โดยแนบโทเค็นเพื่อการเข้าถึงไปกับคำขอ
  7. หาก Google ตัดสินว่าคำขอและโทเค็นของคุณถูกต้อง ระบบจะแสดงข้อมูลที่ขอ

บางกระบวนการจะมีขั้นตอนเพิ่มเติม เช่น การใช้โทเค็นการรีเฟรชเพื่อขอโทเค็นเพื่อการเข้าถึงใหม่ ดูข้อมูลอย่างละเอียดเกี่ยวกับกระบวนการของแอปพลิเคชันประเภทต่างๆ ได้ที่เอกสารประกอบเกี่ยวกับ OAuth 2.0 ของ Google

ข้อมูลขอบเขต OAuth 2.0 สำหรับ Google Content API for Shopping มีดังนี้

ขอบเขต ความหมาย
https://www.googleapis.com/auth/content สิทธิ์การอ่าน/เขียน

หากต้องการขอสิทธิ์โดยใช้ OAuth 2.0 แอปพลิเคชันของคุณต้องมีข้อมูลขอบเขต รวมถึงข้อมูลที่ Google ให้คุณตอนลงทะเบียนแอปพลิเคชัน (เช่น รหัสไคลเอ็นต์และรหัสลับไคลเอ็นต์)

เคล็ดลับ: ไลบรารีของไคลเอ็นต์ Google APIs จัดการขั้นตอนการให้สิทธิ์บางส่วนให้คุณได้ ไลบรารีเหล่านี้พร้อมให้บริการเป็นภาษาโปรแกรมต่างๆ โปรดดูรายละเอียดเพิ่มเติมที่หน้าที่มีไลบรารีและตัวอย่าง

รับขอบเขต OAuth

เราขอแนะนำให้ใช้การเพิ่มขึ้น การให้สิทธิ์เพื่อหลีกเลี่ยงปัญหาการเลือกขอบเขต

ขอบเขตของ OAuth คือ จะยกเลิกการเลือกโดยค่าเริ่มต้นในหน้าจอคํายินยอมสําหรับแอปของคุณหากคุณขอมากกว่า 1 รายการ เมื่อแอปของคุณ แสดงหน้าจอความยินยอมแก่ผู้ใช้ โดยผู้ใช้ต้องเลือกแต่ละขอบเขตเพื่อให้สิทธิ์เข้าถึงด้วยตนเอง

ตรวจสอบการตอบกลับจากคำขอ OAuth เพื่อยืนยันว่าคุณได้รับขอบเขตที่เหมาะสม

ดูหน้านโยบาย OAuth 2.0 เพื่อดูรายละเอียดเพิ่มเติม

ขอรับการยืนยันแอป

แอปที่เข้าถึง Content API จะต้องผ่านกระบวนการตรวจสอบการยืนยัน OAuth ผู้ใช้ของ แอปที่ไม่ได้รับการยืนยันซึ่งเข้าถึง Content API จะได้รับคำเตือน และแอปจะมีฟังก์ชันการทำงานที่จำกัด แอปในบริบทนี้หมายถึงรหัสไคลเอ็นต์ OAuth 2.0 ที่ไม่ซ้ำกันใน Google Cloud

โดยทั่วไปแล้ว กระบวนการยืนยันจะใช้เวลา 3-5 วันทำการ หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ กระบวนการและการส่งคำขอรับการยืนยัน โปรดดูที่การยืนยันสำหรับแอป

นโยบายนี้มีผลกับแอปทั้งหมด และเราขอแนะนำให้แอปทั้งหมดใช้ OAuth ของ Google กระบวนการยืนยันตัวตนโดยเร็วที่สุดเพื่อไม่ให้ธุรกิจหยุดชะงัก

ตัวอย่างการให้สิทธิ์

โค้ดต่อไปนี้แสดงวิธีกำหนดค่าไคลเอ็นต์และให้สิทธิ์คำขอโดยใช้ OAuth 2.0 สำหรับเว็บแอปพลิเคชัน สำหรับภาษาอื่นๆ คุณสามารถดูได้ที่หน้าตัวอย่างและห้องสมุด

PHP

ตัวอย่างนี้ใช้ขั้นตอนสำหรับเว็บแอปพลิเคชัน URI การเปลี่ยนเส้นทางควรเป็น URI ของหน้า PHP นี้

<?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;
}

เมื่อตรวจสอบสิทธิ์แล้ว คุณจะสร้างออบเจ็กต์บริการเพื่อใช้ส่งคำขอ API ได้

require_once 'Google/Service/ShoppingContent.php';

$service = new Google_Service_ShoppingContent($client);