サービス アカウントは特別な Google アカウントで、アプリケーションが OAuth 2.0 を介して Google API にプログラムでアクセスできます。サービス アカウントは、人による承認を必要としない OAuth 2.0 フローを使用します。アプリケーションのみがアクセスできるキーファイルが使用されます。このガイドでは、サービス アカウントを使用して Content API for Shopping にアクセスする方法について説明します。
注: 認証にサービス アカウントを使用するアプリケーションは、パートナー様が所有する Merchant Center アカウントにのみアクセスできます。クライアントの Merchant Center アカウントにアクセスする必要があるサードパーティ アプリケーションを作成する場合は、代わりにリクエストの承認ガイドをご覧ください。
Prerequisites
- Merchant Center アカウント
サービス アカウントを使用して Content API for Shopping にアクセスする手順
- サービス アカウントの認証情報を生成するか、生成済みの公開認証情報にアクセスします。OAuth 2.0 クライアント ID を作成して、*.json 秘密鍵ファイルを取得する必要があります。
- Google API Console に移動します。
- ページの上部にあるプルダウン メニューでプロジェクトを選択します。プロジェクトがない場合は、[新しいプロジェクト] をクリックして作成します。
- このプロジェクトで Content API for Shopping をまだ有効にしていない場合は、Google API のリストで検索して有効化します。
- 左側のサイドバーで [認証情報] を選択します。 このアイコンが表示されていない場合は、左上の左矢印をクリックします。
- サービス アカウントを設定するには、[認証情報を作成]、[サービス アカウント] の順に選択します。
- 新しいサービス アカウントに名前を付けます。これは、サービス アカウント ID のデフォルトのユーザー名としても機能します。後で使用するために、サービス アカウント ID(「@」の後の部分を含む)を記録します。[作成] をクリックし、プロジェクトとユーザーへのアクセスを許可するオプションのステップを実行して、[完了] をクリックします。
Content API メソッドへのアクセスは Merchant Center のサービス アカウント ID に関連付けられたロールで決定されるため、サービス アカウントにどのロールを選択しても、Content API の呼び出しに影響はありません。何を選択すればよいかわからない場合は、[プロジェクト] > [閲覧者] を選択します。
- [サービス アカウント] ページが開き、新しいサービス アカウントにアクセスできます。
- JSON 秘密鍵を取得するには、サービス アカウント をクリックして、[キー] タブをクリックします。[鍵を追加] > [新しい鍵を作成] の順にクリックし、鍵のタイプとして JSON を選択します。[作成] をクリックして、秘密鍵をパソコンにダウンロードします。
- 新しいサービス アカウントをユーザーとして Merchant Center アカウントに追加します。サードパーティのデベロッパーの場合は、クライアントにこの手順を実施してもらう必要があります。
- Merchant Center アカウントに移動します。
- Merchant Center アカウントの設定で [アカウントのアクセス権] に移動します。
- [+ ユーザーを追加] をクリックし、新しいユーザーのメールアドレスとしてサービス アカウント ID を使用します。
以前にサービス アカウント ID をメモしていない場合は、サービス アカウントの管理ページに移動し、作成したプロジェクトを選択します。
- サービス アカウントの [ユーザー アクセス] と [メール通知] の設定を指定します。
Accounts
サービスを使用するには、管理者権限が必要です。 - [ユーザーを追加] をクリックして設定を保存し、ユーザーのリストに戻ります。選択したユーザーロールでサービス アカウント ID が一覧表示されます。
- 追加する他のすべてのサービス アカウントについて、このプロセスを繰り返します。
- Google アプリケーションのデフォルト認証情報フローまたはサービス アカウント フローを直接使用すると、サービス アカウントを使用して Merchant Center アカウントにアクセスできます。Content API for Shopping のサンプルでは、サポートされている各プログラミング言語でサービス アカウントの認証情報に対して両方のフローを使用する方法を示しています。コードサンプルを確認して新しいサービス アカウントを試し、独自のコードでサービス アカウントを使用するために必要な変更を確認してください。
よくある質問
- サービス アカウントで Merchant Center UI にログインできますか?
- いいえ。サービス アカウントは通常の Google アカウントではないため、Merchant Center UI にもアクセスできません。
- サービス アカウントのアクセス トークンはどのくらいの頻度で更新する必要がありますか?
- アクセス トークンは、Google OAuth 2.0 認可サーバーによって発行されてから 1 時間後に期限切れになります。アクセス トークンが期限切れになった場合、アプリケーションはクライアント ライブラリを使用して別のアクセス トークンを取得する必要があります。