サービス アカウントは、OAuth 2.0 を介してプログラムで Google API にアクセスするために、アプリケーションによって使用される特別な Google アカウントです。サービス アカウントは、人による承認を必要としない OAuth 2.0 フローを使用します。人による承認の代わりに、該当のアプリケーションのみがアクセスできるキーファイルが使用されます。このガイドでは、サービス アカウントを使用して Content API for Shopping にアクセスする方法について説明します。
注: 認証にサービス アカウントを使用するアプリケーションは、パートナー様自身の Merchant Center アカウントにのみアクセスできます。クライアントの Merchant Center アカウントにアクセスする必要があるサードパーティ アプリケーションを作成している場合は、リクエストの承認ガイドを参照してください。
前提条件
- Merchant Center アカウント。
サービス アカウントを使用して Content API for Shopping にアクセスする手順
- サービス アカウントの認証情報を生成するか、すでに生成した公開認証情報にアクセスします。OAuth 2.0 クライアント ID を作成し、*.json 秘密鍵ファイルを取得する必要があります。
- Google API コンソールに移動します。
- ページ上部のプルダウン メニューでプロジェクトを選択します。まだプロジェクトがない場合は、[新しいプロジェクト] をクリックして作成します。
- このプロジェクトで Content API for Shopping をまだ有効にしていない場合は、Google API のリストでその 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 の管理画面にログインできますか?
- いいえ。サービス アカウントは通常の Google アカウントではないため、Merchant Center の管理画面にアクセスできません。
- サービス アカウントのアクセス トークンはどのくらいの頻度で更新する必要がありますか?
- アクセス トークンは、Google OAuth 2.0 認証サーバーから発行されてから 1 時間後に期限切れになります。アクセス トークンの有効期限が切れると、アプリケーションはクライアント ライブラリを使用して別のアクセス トークンを取得する必要があります。