よくある質問

このセクションでは、Merchant API のデベロッパー登録に関するよくある質問について説明します。

一般的な登録

登録プロセスに関するよくある質問:

Merchant API を使用するにはデベロッパー登録が必須ですか?

はい。サービスに関するお知らせや新機能の情報など、API 固有の重要な最新情報を Google から送信できるように、デベロッパーの連絡先情報を登録する必要があります。

Merchant API を試してテストするだけの場合は、登録を必要としない Google OAuth Playground や API Explorer などのツールを使用できます。

登録はどのくらいの頻度で行う必要がありますか?

登録は、Google Cloud プロジェクトごとに一度だけ 設定します。 複数の販売者アカウントを操作しているかどうかに関係なく、登録操作は 1 回だけ行います。この操作は、リンクされている Google Cloud プロジェクト内のすべてのユーザーとサービス アカウントに適用されます。

Google Cloud プロジェクトが正常に登録されると、リンク は、 unregisterGcp メソッドを呼び出して明示的に削除しない限り、有効なままになります。API Explorer や OAuth Playground などの Google 所有の共有プロジェクトは登録できません。

デベロッパーの連絡先としてどのメールアドレスを指定すればよいですか?

個人の会社のメールアドレスを使用することをおすすめします。または、一般的なグループ エイリアスを使用することもできます。サービス アカウントのメールは、人間が受信することを想定していないため、使用できません。Google からは、サービスに関するお知らせや新機能の情報など、API 固有の重要な最新情報が送信されます。

メールアドレスが Merchant Center アカウントの既存のユーザーに属している場合は、API developer ロールが自動的に付与されます。そうでない場合は、そのアドレスに招待状が送信されます。

registerGcp メソッドでは、デベロッパーの連絡先メールアドレス フィールドは省略可能です。登録時にこのフィールドに値を指定しない場合は、 API developer ロールを持つユーザーを Merchant Center UI で、または accounts.users.create メソッドを呼び出して作成する必要があります。

デベロッパーの連絡先メールアドレスは Google アカウントである必要がありますか?

はい。既存の Google 以外のメールを使用するには、Google アカウントの作成登録プロセスで [既存のメールアドレスを使用する] オプションを選択して、Google アカウントに関連付けることができます。サービス アカウントはメールを受信できないため、サービス アカウントのメールは使用できません。

登録呼び出しの認証と認可を行うにはどうすればよいですか?

ユースケースに応じて、登録呼び出しの認証と認可には次の 2 つの異なる認証シナリオを使用できます。

  • OAuth 2.0: 複数の 販売者アカウントを管理するサードパーティ プロバイダまたは代理店向け
  • サービス アカウント: 自分の Merchant Center アカウントへのアクセス向け

ユーザー補助の代替テキスト

上の図は、登録呼び出しの 2 つの認証と認可のフローを示しています。選択肢は次のとおりです。

  • Google アカウントに関連付けられたメールアドレス(account@email.com など)で OAuth を使用する
  • サービス アカウント(sa@project.iam.gserviceaccount.com など)を使用する

OAuth を選択する場合:

  • メールアドレスの OAuth 認証情報を Google Cloud プロジェクトに作成する
  • 認可メールアドレスが Merchant Center に存在し、アクセス タイプが ADMIN であることを確認する

サービス アカウント を選択する場合:

  • サービス アカウントが Google Cloud プロジェクトに存在することを確認する
  • サービス アカウントに関連付けられたメールアドレスが Merchant Center に存在し、アクセス タイプが ADMIN であることを確認する

直接 API 呼び出しまたはクライアント ライブラリを使用して、認証 ID のセキュリティ コンテキストで登録呼び出しを行います。デベロッパーの連絡先メールアドレス (developer@email.comなど)を指定します。

登録呼び出しが成功すると、指定したデベロッパーのメールアドレスと API developer ロールを持つユーザーが Merchant Center に作成されます。レスポンスとして DeveloperRegistration リソースが返されます。

認証メールとデベロッパーの連絡先メールの違いは何ですか?

2 つのメールアドレスは、Merchant API エコシステム内で異なる目的で使用されます。

  • 認証メール: 通常は、Google アカウントまたはサービス アカウントに関連付けられたメール を ID として使用し、Merchant API へのリクエストを認可します。ただし、次の条件を満たしている必要があります。
    • Merchant Center に存在し、ADMIN ロールが付与されている。
    • Merchant API が有効になっている Google Cloud プロジェクトが、API 呼び出しを認可するメールに関連付けられた OAuth クライアントまたはサービス アカウントをホストしている。
  • デベロッパーの連絡先メール: デベロッパーの連絡先メール も Google アカウントに関連付ける必要がありますが、Google からの重要なサービスに関するお知らせや API の更新情報の主な連絡先担当者として使用されます。ユーザーまたはユーザー グループに属することができます。デフォルトでは、Merchant Center で API developer ロールが付与されます。

デベロッパーの連絡先メールに届いた招待状を承認する必要がありますか?

はい。指定したデベロッパーの連絡先メールの受信者は、14 日以内に招待状を承認する必要があります。招待状を承認した後にのみ、登録が完了します。ただし、この間も API 呼び出しを行うことはできます。

指定した期間内に招待状が承認されない場合、招待状のリンクは期限切れになります。Merchant API 呼び出しを行うことができなくなり、登録プロセスを再開する必要があります。

デベロッパー登録が「テスト アカウント」エラーで失敗するのはなぜですか?

統合の安定性を確保するため、デベロッパー登録は本番環境(ライブ)アカウントに限定されています。Merchant Center で「テスト アカウント」としてマークされているテスト専用のアカウントを使用している場合、登録は拒否されます。

クライアント向けに管理しているサブアカウントを登録できますか?

自社のビジネス ID を表すアカウントを登録することを強くおすすめします。 クライアントのサブアカウントを登録することは許可されておらず、エラーが発生しやすくなります。クライアントがサービスを離れたり、アカウントを削除したりすると、API 統合全体が無効になる可能性があります。

ウェブサイトは所有権の主張が必要ですか、それとも確認だけでよいですか?

デベロッパー登録の場合、ウェブサイトは 確認済み である必要があります。 これにより、アカウントに関連付けられたサイトに対する管理権限があることが証明されます。ショッピング広告などの他の機能では所有権の主張が必要ですが、API 登録の主な要件は確認です。

アカウントとプロジェクトの管理

アカウントとプロジェクトの管理に関するよくある質問:

複数の Merchant Center アカウントを使用しています。Merchant API で使用するすべての Merchant Center アカウントを登録する必要がありますか?

いいえ。複数の販売者アカウントを管理するサードパーティ デベロッパーまたは代理店の場合は、販売者アカウントごとではなく、独自のプライマリ Merchant Center アカウントで Google Cloud プロジェクトを登録します。これにより、販売者向けに行うすべての API 作業のデベロッパーを表すことができます。

複数の Merchant Center アカウントを使用しています。プライマリ Merchant Center アカウントを選択するにはどうすればよいですか?

使用するメイン アカウントの選択は、ビジネスの種類によって異なります。

Google Cloud プロジェクトがプライマリ Merchant Center アカウントに登録されると、そのプロジェクトを使用して、アクセス権のある他の Merchant Center アカウントを個別に登録することなく管理できます。

複数の Google Cloud プロジェクトを使用しています。それぞれ登録する必要がありますか?

はい。登録プロセスでは、呼び出し元の Google Cloud プロジェクトがリンクされるため、API 呼び出しに使用する各 Google Cloud プロジェクトから registerGcp 呼び出しを行う必要があります。

1 つの Google Cloud プロジェクトを登録できる Merchant Center アカウントは、一度に 1 つだけです。ただし、1 つの Merchant Center アカウントに複数の Google Cloud プロジェクトを登録できます。 同様に、同じデベロッパーのメールアドレスを使用して、複数の Google Cloud プロジェクトまたは複数の Merchant Center にわたって複数の登録を行うことができます。

Google Cloud プロジェクトを複数の Merchant Center アカウントに登録するとどうなりますか?

別の Merchant Center アカウントにすでに登録されている Google Cloud プロジェクトを登録しようとすると、ALREADY_REGISTERED エラーが発生します。

デベロッパー登録 API 呼び出しを認証するにはどうすればよいですか?

Merchant API のデベロッパー登録 API 呼び出しを認証するには、Google Cloud プロジェクトで管理される認証情報を使用します。認証を行う ID には、主に次の 2 つのオプションがあります。

  • OAuth 2.0 を使用する Google アカウント(Gmail など): この方法では、Google Cloud プロジェクト内で生成された OAuth 2.0 クライアント認証情報を使用します。API 呼び出しは、ユーザーがログインする特定の Google アカウントに代わって認可されます。
  • サービス アカウント: この方法では、アプリケーション向けの特別なタイプの Google アカウントである Google Cloud サービス アカウントを使用します。 サービス アカウントの認証情報も Google Cloud プロジェクト内で管理されます。

デベロッパー登録を成功させるには、認証 ID(Google アカウントまたはサービス アカウント)が Merchant Center 内で次の条件を満たしている必要があります。

  • Merchant Center のユーザーとして存在する: 認証を行う Google アカウントまたはサービス アカウントに関連付けられたメールアドレスを、登録する Merchant Center アカウントにユーザーとして追加する必要があります。
  • 管理者ロールが必要: このユーザーには、その特定の Merchant Center アカウント内で ADMIN ロールが割り当てられている必要があります。

API 呼び出しを行う場合:

  • 直接 API 呼び出しを使用する場合は、有効な アクセス トークンを取得して Authorization ヘッダーに指定する必要があります。このトークンは、Google アカウントの OAuth 2.0 フローまたはサービス アカウントのサーバー間認証フローによって生成されます。
  • Google が提供するクライアント ライブラリ は通常、構成の一環として、アクセス トークンの取得と更新の複雑さを処理します。

認証ユーザーは、デベロッパーの連絡先ユーザーと同じでない可能性があります 。詳細については、 認証メールとデベロッパーの 連絡先メールの違いは何ですか?をご覧ください。

アクセス トークンはどのくらいの頻度で更新する必要がありますか?

サービス アカウントと OAuth 2.0 のアクセス トークンは通常、1 時間後に期限切れになります。ただし、新しいトークンを取得するメカニズムは、使用している認証方法によって異なります。

  • サービス アカウントは、必要に応じて秘密鍵 または環境認証情報 を使用して新しいアクセス トークンを作成します。
  • OAuth 2.0 フローでは、refresh_token を使用して Google OAuth2 トークン エンドポイントを呼び出し、新しい 1 時間のアクセス トークンを受け取ります。

このローテーションを自動的に処理し、アプリケーションがダウンタイムを経験しないように、公式の Google Auth ライブラリを使用することを強くおすすめします。

ユーザーとロール

ユーザーとロールに関するよくある質問:

デベロッパーのメール アカウントは Merchant Center にすでに存在する必要がありますか?

いいえ。登録メール アカウントが Merchant Center にまだ存在しない場合、Merchant API は、指定されたメールアドレスで Merchant Center にアカウントを作成し、ステータスを [保留中] にします。デベロッパーのメールアドレスが Merchant Center アカウントの既存のユーザーに属している場合は、API developer ロールが自動的に付与されます。

デベロッパーの連絡先メールには Merchant Center の管理者権限が必要ですか?

いいえ。デベロッパーの連絡先メールに関連付けられた Merchant Center ユーザーには、重要な通知を受け取るために必要な API developer ロールがデフォルトで付与されます。ただし、Merchant Center 内の権限は最小限です。このユーザーが他の API 呼び出しを行ったり、Merchant Center UI で設定を管理したりできるようにするには、STANDARDADMIN などの追加のロールを付与する必要があります。Merchant Center のロールの詳細については、アクセス タイプをご覧ください。

API developer」ロールにはどのような権限がありますか?

API developer ロールは、Merchant Center で最小限の権限を持つロールです。デベロッパーの連絡先メールを使用して Merchant API への呼び出しを認可する場合は、ユーザーが API 呼び出しを実行できるように ADMIN または STANDARD 権限を追加することをおすすめします。

API を呼び出すデベロッパー ユーザーまたはサービス アカウントを登録する必要がありますか?

いいえ。デベロッパー登録は、個々のユーザーやサービス アカウントではなく、API 呼び出しに使用される Google Cloud プロジェクトに関連付けられています。Google Cloud プロジェクトがプライマリ Merchant Center アカウントに正常に登録されると、リンクされた Google Cloud プロジェクトで OAuth 認証情報またはサービス アカウントを使用して管理される ID を使用して、Merchant API 呼び出しを認可できます。ただし、それらが Merchant Center に存在し、ADMIN ロールが割り当てられている必要があります。

最初の登録後にデベロッパーの連絡先メールを変更するにはどうすればよいですか?

連絡先を管理または変更するには、標準の accounts.users サービスを使用するか、Merchant Center UI の [アクセスとサービス] ページで API developer ロールを持つユーザーを追加または削除します。

最後の「API developer」ユーザーが Merchant Center アカウントから削除されるとどうなりますか?

サービスの即時中断を避けるため、30 日間 の猶予期間が設けられます。 この間:

  • 管理者は、メールで 3 つの必須サービスに関するお知らせを受け取ります(通常、ブロックの約 30 日前、17 日前、4 日前)。
  • API 呼び出しは通常どおり機能します。
  • 猶予期間が終了する前に新しい API developer が追加されない場合、関連付けられた Google Cloud プロジェクトからの API 呼び出しは AUTH_GCP_NOT_REGISTERED エラーでブロックされます。

30 日間の猶予期間が終了すると、関連付けられた Google Cloud プロジェクトからの API 呼び出しがブロックされ、有効なデベロッパーの連絡先が復元されるまで AUTH_GCP_NOT_REGISTERED エラーが発生します。

デベロッパー登録が行われた Merchant Center ID が削除されるとどうなりますか?

統合がアクティブな間は、デベロッパー登録に使用した Merchant Center アカウントを削除しないでください。このアカウントを削除すると、統合がすぐに中断され、関連付けられた Google Cloud プロジェクトから API 呼び出しを行うことができなくなります。

Merchant Center アカウントを削除する必要がある場合は、まず unregisterGcp メソッドを呼び出してリンクを安全に削除してから、 Merchant Center ID の削除に進みます。Merchant API を引き続き使用する場合は、現在の Merchant Center ID の登録を解除した直後に、別の Merchant Center ID で登録する必要があります。その後、Merchant Center ID の削除に進みます。

Merchant Center に「API developer」ロールが表示されないのはなぜですか?

API developer ロールは、特定の Merchant Center アカウントに対してデベロッパー登録が行われた後にのみ、Merchant Center UI に表示されます。登録されていない Merchant Center アカウントには、API developer ロールは表示されません。

特殊なユースケース

特殊なユースケースに関するよくある質問:

複数の販売者アカウントを管理する代理店またはサードパーティ デベロッパーです。最適な方法は次のうちどれですか。

サードパーティ デベロッパーと代理店は、独自のプライマリ Merchant Center アカウントを維持し、すべての Google Cloud プロジェクトをその単一の集中型アカウントに登録する必要があります。Google Cloud プロジェクトを個々の販売者アカウントに登録しないでください。

Google App Scripts の登録はどのように機能しますか?

通常、App Scripts はデフォルトの Google Cloud プロジェクトで実行されます。このデフォルトの Google Cloud ID を Merchant Center アカウントに登録する必要があります。Google Cloud ID は API によって自動的に取得されるため、パラメータとして指定する必要はありません。

Merchant Center ID が特定の Google Cloud プロジェクト ID に登録されているかどうかを確認できますか?

はい。getAccountForGcpRegistration メソッドを使用すると、特定の Google Cloud プロジェクトに登録されている Merchant Center ID を確認できます。Google Cloud プロジェクトと Merchant Center アカウントのリンクを削除するには、 unregisterGcp メソッドを使用します。