このセクションでは、Merchant API のデベロッパー登録に関するよくある質問について説明します。
一般的な登録
登録プロセスに関するよくある質問:
Merchant API を使用するにはデベロッパー登録が必須ですか?
はい。サービスに関するお知らせや新機能の情報など、API 固有の重要な更新情報を Google から送信できるように、デベロッパーの連絡先情報を登録する必要があります。
Merchant API を試してテストするだけの場合は、登録を必要としない Google OAuth Playground や API Explorer などのツールを使用できます。
登録はどのくらいの頻度で行う必要がありますか?
登録は、Google Cloud プロジェクトごとに1 回限りの 設定です。複数の販売者アカウントを使用しているかどうかに関係なく、登録操作は 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 クライアントまたはサービス アカウントがホストされている。
- Merchant Center に存在し、
- デベロッパーの連絡先メール: デベロッパーの連絡先メール も Google アカウントに関連付ける必要がありますが、Google からの重要なサービスに関するお知らせや API の更新情報の主な連絡先として使用されます。ユーザーまたはユーザー グループに属することができます。デフォルトでは、Merchant Center で
API developerロールが付与されます。
デベロッパーの連絡先メールに届いた招待状を承認する必要がありますか?
はい。指定したデベロッパーの連絡先メールの受信者は、14 日以内に招待を承認する必要があります。招待状を承認した後にのみ登録が完了します。ただし、この期間中に API 呼び出しを行うことはできます。
指定した期間内に招待状が承認されない場合、招待状のリンクは期限切れになります。Merchant API 呼び出しを実行できなくなるため、登録プロセスを再開する必要があります。
アカウントとプロジェクトの管理
アカウントとプロジェクトの管理に関するよくある質問:
複数の Merchant Center アカウントを使用しています。Merchant API で使用するすべての Merchant Center アカウントを登録する必要がありますか?
いいえ。複数の販売者アカウントを管理するサードパーティ デベロッパーまたは代理店の場合は、販売者アカウントごとではなく、自分のメインの Merchant Center アカウントに Google Cloud プロジェクトを登録します。これにより、販売者向けに行うすべての API 作業のデベロッパーとして機能します。
複数の Merchant Center アカウントを使用しています。メインの Merchant Center アカウントを選択するにはどうすればよいですか?
使用するメイン アカウントは、ビジネスの種類によって異なります。
- 既存のアドバンス アカウントを持つマーケットプレイス: ビジネスがマーケットプレイスとして運営されており、プラットフォーム全体を表すアドバンス アカウントがすでに存在する場合は、この既存のアカウント ID をメインの Merchant Center アカウントとして使用します。
- 比較ショッピング サービス(CSS): CSS の場合は、独自の CSS アカウント ID または CSS グループ アカウント ID を使用します。
- 代理店、デベロッパー、その他のサードパーティ: 複数の販売者アカウントを管理し、ビジネスを表す単一の Merchant Center ID がない 代理店やサードパーティ デベロッパーなどのサードパーティ ビジネスの場合は、新しいメインの 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 Cloud サービス アカウントを使用します。これは、アプリケーション向けの特別なタイプの Google アカウントです。 サービス アカウントの認証情報も 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 で設定を管理したりできるようにするには、STANDARD や ADMIN などの追加のロールを付与する必要があります。Merchant Center のロールの詳細については、アクセスタイプをご覧ください。
「API デベロッパー」ロールにはどのような権限がありますか?
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 デベロッパー」ユーザーが 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 アカウントを維持し、すべての Google Cloud プロジェクトをその単一の中央アカウントに登録する必要があります。Google Cloud プロジェクトを個々の販売者アカウントに登録しないでください。
Google App Scripts の登録はどのように機能しますか?
通常、Apps Script はデフォルトの Google Cloud プロジェクトで実行されます。このデフォルトの Google Cloud ID を Merchant Center アカウントに登録する必要があります。Google Cloud ID は API によって自動的に取得されるため、パラメータとして指定する必要はありません。
Merchant Center ID が特定の Google Cloud プロジェクト ID に登録されているかどうかを確認できますか?
はい。getAccountForGcpRegistrationGoogle Cloud プロジェクトと Merchant Center アカウントのリンクを削除するには、 unregisterGcp メソッドを使用します。