OAuth

توجه: این سند جریان OAuth2 سه پا را توصیف می کند که برای درخواست دسترسی به داده های طرف های دیگر استفاده می شود. اگر در حال توسعه یک برنامه شخص ثالث هستید که نیاز به دسترسی به حساب‌های Merchant Center مشتریان شما دارد، از این جریان احراز هویت استفاده کنید. اگر در حال توسعه یک برنامه داخلی هستید که فقط به حساب Merchant Center خود دسترسی دارد، لطفاً به جای آن به راهنمای حساب‌های خدمات نگاه کنید.

هر درخواستی که برنامه شما به Google Content API for Shopping ارسال می‌کند باید شامل یک نشانه مجوز باشد. توکن همچنین برنامه شما را در گوگل شناسایی می کند.

درباره پروتکل های مجوز

برنامه شما باید از OAuth 2.0 برای تأیید درخواست ها استفاده کند. هیچ پروتکل مجوز دیگری پشتیبانی نمی شود. اگر برنامه شما از ورود به سیستم با Google استفاده می کند، برخی از جنبه های مجوز برای شما انجام می شود.

تأیید درخواست ها با OAuth 2.0

همه درخواست‌های Google Content API برای خرید باید توسط یک کاربر احراز هویت مجاز باشد.

جزئیات فرآیند مجوز یا "جریان" برای OAuth 2.0 بسته به نوع برنامه ای که می نویسید تا حدودی متفاوت است. فرآیند کلی زیر برای همه انواع برنامه ها اعمال می شود:

  1. هنگامی که برنامه خود را ایجاد می کنید، آن را با استفاده از Google API Console ثبت می کنید. سپس Google اطلاعاتی را که بعداً به آن نیاز خواهید داشت، مانند شناسه مشتری و راز مشتری ارائه می دهد.
  2. Google Content API را برای خرید در Google API Console فعال کنید. (اگر API در لیست API Console نیست، از این مرحله صرفنظر کنید.)
  3. هنگامی که برنامه شما نیاز به دسترسی به داده های کاربر دارد، از Google دامنه دسترسی خاصی را می خواهد.
  4. Google یک صفحه رضایت به کاربر نمایش می دهد و از او می خواهد تا به برنامه شما اجازه دهد تا برخی از داده های خود را درخواست کند.
  5. اگر کاربر تأیید کند، گوگل به برنامه شما یک رمز دسترسی کوتاه مدت می دهد.
  6. برنامه شما با پیوست کردن رمز دسترسی به درخواست، داده های کاربر را درخواست می کند.
  7. اگر Google تشخیص دهد که درخواست شما و رمز معتبر هستند، داده‌های درخواستی را برمی‌گرداند.

برخی از جریان‌ها شامل مراحل اضافی هستند، مانند استفاده از نشانه‌های تازه‌سازی برای به دست آوردن نشانه‌های دسترسی جدید. برای اطلاعات دقیق درباره جریان‌ها برای انواع مختلف برنامه‌ها، به اسناد OAuth 2.0 Google مراجعه کنید.

در اینجا اطلاعات محدوده OAuth 2.0 برای Google Content API برای خرید آمده است:

محدوده معنی
https://www.googleapis.com/auth/content دسترسی خواندن/نوشتن

برای درخواست دسترسی با استفاده از OAuth 2.0، برنامه شما به اطلاعات محدوده و همچنین اطلاعاتی که Google هنگام ثبت برنامه خود ارائه می دهد (مانند شناسه مشتری و رمز سرویس گیرنده) نیاز دارد.

نکته: کتابخانه های سرویس گیرنده Google APIs می توانند برخی از فرآیندهای مجوز را برای شما انجام دهند. آنها برای انواع زبان های برنامه نویسی در دسترس هستند. برای جزئیات بیشتر صفحه را با کتابخانه ها و نمونه ها بررسی کنید.

دامنه های OAuth را دریافت کنید

توصیه می کنیم از مجوز افزایشی برای جلوگیری از مشکلات انتخاب دامنه استفاده کنید.

اگر بیش از یک درخواست داشته باشید، دامنه های OAuth به طور پیش فرض در صفحه رضایت برای برنامه شما لغو انتخاب می شوند. هنگامی که برنامه شما صفحه رضایت را به کاربر ارائه می دهد، آنها باید به صورت دستی هر محدوده را برای اجازه دسترسی انتخاب کنند.

پاسخ درخواست OAuth را بررسی کنید تا بررسی کنید که دامنه های مناسب را دریافت کرده اید.

برای جزئیات بیشتر به صفحه سیاست های OAuth 2.0 مراجعه کنید.

درخواست تأیید برنامه

هر برنامه‌ای که به Content API دسترسی پیدا می‌کند باید مراحل بررسی تأیید OAuth را طی کند. کاربران برنامه‌های تأیید نشده که به Content API دسترسی دارند اخطارهایی دریافت می‌کنند و برنامه‌ها عملکرد محدودی خواهند داشت. یک برنامه، در این زمینه، به عنوان شناسه مشتری OAuth 2.0 منحصر به فرد در Google Cloud تعریف می شود.

فرآیند تأیید معمولاً 3 تا 5 روز کاری طول می کشد تا تکمیل شود. برای کسب اطلاعات بیشتر در مورد فرآیند و ارسال درخواست تأیید، به تأیید صحت برنامه ها مراجعه کنید.

این خط‌مشی برای همه برنامه‌ها اعمال می‌شود، و توصیه می‌کنیم همه برنامه‌ها در اولین فرصت خود تحت فرآیند تأیید Google OAuth قرار بگیرند تا از هرگونه وقفه در کسب‌وکار جلوگیری شود.

نمونه مجوز

کد زیر نحوه پیکربندی کلاینت و تأیید درخواست ها با استفاده از OAuth 2.0 برای برنامه های وب را نشان می دهد. زبان‌های دیگر در صفحه نمونه‌ها و کتابخانه‌های ما موجود است.

PHP

این مثال از جریان Web Application استفاده می کند. 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;
}

اکنون که احراز هویت را انجام داده اید، می توانید یک شیء Service برای ایجاد درخواست های API ایجاد کنید.

require_once 'Google/Service/ShoppingContent.php';

$service = new Google_Service_ShoppingContent($client);