OAuth

注: このドキュメントでは、 第三者のアクセスをリクエストするために使用される 3-legged OAuth2 フロー 分析できますこの認証フローは、Google Cloud の クライアントのデータにアクセスする必要があるサードパーティ アプリケーション 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 Console を使用してアプリケーションを登録します。登録すると、後で必要になるクライアント ID やクライアント シークレットなどの情報が Google から提供されます。
  2. Google API Console で Google Content API for Shopping を有効にします。(Indexing API が API Console に表示されない場合は、この手順をスキップしてください)。
  3. アプリケーションでユーザーデータにアクセスする必要がある場合は、特定のアクセスのスコープを Google にリクエストします。
  4. データをリクエストするアプリケーションの承認を求める Google の同意画面がユーザーに表示されます。
  5. ユーザーが承認すると、有効期間の短いアクセス トークンがアプリケーションに付与されます。
  6. アプリケーションは、リクエストにそのアクセス トークンを付与してユーザーデータをリクエストします。
  7. Google がそのリクエストとトークンが有効であると判断すると、リクエストされたデータが返されます。

プロセスによっては、更新トークンを使用して新しいアクセス トークンを取得するなど、追加の手順が必要になる場合もあります。各種アプリケーションのフローについて詳しくは、Google の OAuth 2.0 ドキュメントをご覧ください。

Google Content API for Shopping で使用される OAuth 2.0 のスコープ情報は次のとおりです。

範囲 意味
https://www.googleapis.com/auth/content 読み取り / 書き込みアクセス。

OAuth 2.0 を使用してアクセスをリクエストする場合、アプリケーションを登録したときに Google から提供された情報(クライアント ID やクライアント シークレットなど)に加えて、スコープ情報が必要になります。

ヒント: Google API クライアント ライブラリで一部の承認プロセスを処理することもできます。これらのライブラリはさまざまなプログラミング言語で用意されています。詳細については、ライブラリとサンプルのページをご覧ください。

OAuth スコープを取得する

増分方式の 認可を使用して、スコープの選択に関する問題を回避します。

OAuth スコープは、 複数のリクエストを行った場合、アプリの同意画面でデフォルトで選択解除される。アプリが ユーザーに同意画面が表示されるため、ユーザーは各スコープを手動で選択してアクセスを承認する必要があります。

OAuth リクエストからのレスポンスを調べて、適切なスコープを受け取ったことを確認します。

OAuth 2.0 ポリシーをご覧ください。 をご覧ください。

アプリの確認をリクエストする

Content API にアクセスするすべてのアプリは、OAuth 検証審査プロセスを受ける必要があります。ユーザーの Content API にアクセスする未確認アプリには警告が表示され、それらのアプリの機能が制限されます。 このコンテキストのアプリは、Google Cloud で一意の OAuth 2.0 クライアント ID として定義されます。

この適格性確認プロセスの完了には、通常 3 ~ 5 営業日かかります。P-MAX の プロセスを確認し、確認のリクエストを送信する方法については、アプリの確認を参照してください。

このポリシーはすべてのアプリに適用されます。すべてのアプリで Google OAuth 確認手続きを速やかに進めていただくことで、ビジネスが中断されることがなくなります。

認可の例

次のコードは、OAuth 2.0 を使用してクライアントを構成し、リクエストを承認する方法を示しています サポートしています。その他の言語については、サンプルとライブラリのページをご覧ください。

PHP

この例では、ウェブ アプリケーションのフローを使用します。リダイレクト URI には、この PHP ページの URI を指定します。

<?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 リクエストを行う Service オブジェクトを作成できます。

require_once 'Google/Service/ShoppingContent.php';

$service = new Google_Service_ShoppingContent($client);