サービス アカウント

サービス アカウントは、OAuth 2.0 を介してプログラムで Google API にアクセスするために、アプリケーションによって使用される特別な Google アカウントです。サービス アカウントは、人による承認を必要としない OAuth 2.0 フローを使用します。人による承認の代わりに、該当のアプリケーションのみがアクセスできるキーファイルが使用されます。このガイドでは、サービス アカウントを使用して Content API for Shopping にアクセスする方法について説明します。

注: 認証にサービス アカウントを使用するアプリケーションは、パートナー様自身の Merchant Center アカウントにのみアクセスできます。クライアントの Merchant Center アカウントにアクセスする必要があるサードパーティ アプリケーションを作成している場合は、リクエストの承認ガイドを参照してください。

前提条件

サービス アカウントを使用して Content API for Shopping にアクセスする手順

  1. サービス アカウントの認証情報を生成するか、すでに生成した公開認証情報にアクセスします。OAuth 2.0 クライアント ID を作成し、*.json 秘密鍵ファイルを取得する必要があります。
    1. Google API コンソールに移動します。
    2. ページ上部のプルダウン メニューでプロジェクトを選択します。まだプロジェクトがない場合は、[新しいプロジェクト] をクリックして作成します。
    3. このプロジェクトで Content API for Shopping をまだ有効にしていない場合は、Google API のリストでその API を検索して有効にします。
    4. 左側のサイドバーで [認証情報] を選択します。左上の左矢印をクリックして表示する必要があります。
    5. サービス アカウントを設定するには、[認証情報を作成]、[サービス アカウント] の順に選択します。
    6. 新しいサービス アカウントに名前を付けます。これは、サービス アカウント ID のデフォルトのユーザー名としても機能します。後で使用できるように、サービス アカウント ID(@ の後の部分を含む)をメモしておきます。[作成] をクリックし、プロジェクトとユーザーへのアクセス権を付与するオプションの手順を行い、[完了] をクリックします。

      Content API メソッドへのアクセスは、Merchant Center のサービス アカウント ID に関連付けられたロールによって決まるため、サービス アカウントのロールを選択しても、Content API への呼び出しに影響はありません。どちらを選択すればよいかわからない場合は、[プロジェクト] > [閲覧者] を選択してください。

    7. 新しいサービス アカウントにアクセスできる [サービス アカウント] ページが開きます。
    8. JSON 秘密鍵を取得するには、サービス アカウントをクリックし、[キー] タブをクリックします。[鍵を追加 > 新しい鍵を作成] をクリックし、鍵のタイプとして JSON を選択します。[作成] をクリックして、秘密鍵をパソコンにダウンロードします。
  2. Merchant Center アカウントに、ユーザーとして新しいサービス アカウントを追加します。サードパーティ デベロッパーの場合は、クライアントにこの手順を依頼する必要があります。
    1. Merchant Center アカウントに移動します。
    2. Merchant Center アカウントの設定で、[アカウントのアクセス] に移動します。
    3. [+ ユーザーを追加] をクリックし、新しいユーザーのメールアドレスとしてサービス アカウント ID を使用します。

      サービス アカウント ID をメモしていない場合は、[サービス アカウント] 管理ページに移動して、作成したプロジェクトを選択します。

    4. サービス アカウントの [ユーザー アクセス] と [メール通知] の設定を指定します。Accounts サービスを使用するには、管理者権限が必要です。
    5. [ユーザーを追加] をクリックして設定を保存し、ユーザーのリストに戻ります。サービス アカウント ID が、選択したユーザーロールとともに表示されます。
    6. 追加する他のすべてのサービス アカウントに対して、この手順を繰り返します。
  3. これで、Google アプリケーションのデフォルト認証情報のフローを使用するか、サービス アカウントのフローを直接使用して、サービス アカウントを使用して Merchant Center アカウントにアクセスできるようになりました。Content API for Shopping のサンプルでは、サポートされている各プログラミング言語でサービス アカウント認証情報の両方のフローを利用する方法を示しています。コードサンプルをチェックし、新しいサービス アカウントを試して、独自のコードでサービス アカウントを使用する際に必要な変更を確認してください。

よくある質問

サービス アカウントで Merchant Center の管理画面にログインできますか?
いいえ。サービス アカウントは通常の Google アカウントではないため、Merchant Center の管理画面にアクセスできません。
サービス アカウントのアクセス トークンはどのくらいの頻度で更新する必要がありますか?
アクセス トークンは、Google OAuth 2.0 認証サーバーから発行されてから 1 時間後に期限切れになります。アクセス トークンの有効期限が切れると、アプリケーションはクライアント ライブラリを使用して別のアクセス トークンを取得する必要があります。