このセクションでは、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 メソッドでは省略可能です。登録時にこのフィールドの値を指定しない場合は、Merchant Center UI または accounts.users.create メソッドを呼び出して、API_DEVELOPER ロールを持つユーザーを作成する必要があります。
デベロッパーの連絡先メールアドレスは 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であることを確認します。
認証を行う ID のセキュリティ コンテキストで、直接 API 呼び出しまたはクライアント ライブラリを使用して登録呼び出しを行います。デベロッパーの連絡先メールアドレス(例: 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 にわたって複数の登録を行うことができます。
複数の Merchant Center アカウントで Google Cloud プロジェクトを登録するとどうなりますか?
別の Merchant Center アカウントにすでに登録されている Google Cloud プロジェクトを登録しようとすると、ALREADY_REGISTERED エラーが発生します。
デベロッパー登録 API 呼び出しを認証するにはどうすればよいですか?
Merchant API のデベロッパー登録 API 呼び出しを認証するには、Google Cloud プロジェクトで管理される認証情報を使用します。認証を行う ID には、次の 2 つの主なオプションがあります。
- OAuth 2.0 を使用する Gmail などの Google アカウント: この方法は、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 への呼び出しを承認する場合は、ADMIN または STANDARD 権限を追加して、ユーザーが API 呼び出しを実行できるようにすることをおすすめします。
API を呼び出すデベロッパー ユーザーまたはサービス アカウントごとに登録する必要がありますか?
いいえ。デベロッパー登録は、API 呼び出しに使用される Google Cloud プロジェクトに関連付けられており、個々のユーザーやサービス アカウントには関連付けられていません。Google Cloud プロジェクトがメインの Merchant Center アカウントに登録されると、リンクされた Google Cloud プロジェクトで管理されている ID を OAuth 認証情報またはサービス アカウントを使用して Merchant API 呼び出しの承認に使用できます。ただし、その ID が Merchant Center に存在し、ADMIN ロールが割り当てられている必要があります。
初回登録後にデベロッパーの連絡先メールアドレスを変更するにはどうすればよいですか?
連絡先を管理または変更するには、標準の accounts.users サービスを使用するか、Merchant Center UI の [アクセスとサービス] ページで API Developer ロールを持つユーザーを追加または削除します。
Merchant Center アカウントから最後の「API デベロッパー」ユーザーが削除されるとどうなりますか?
サービスの中断を回避するため、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 Apps Script の登録の仕組み
通常、App Script はデフォルトの Google Cloud プロジェクトで実行されます。このデフォルトの Google Cloud ID を Merchant Center アカウントに登録する必要があります。Google Cloud ID は API によって自動的に取得されるため、パラメータとして指定する必要はありません。
Merchant Center ID が特定の Google Cloud プロジェクト ID に登録されているかどうかを確認できますか?
はい。特定の Google Cloud プロジェクトに登録されている Merchant Center ID を確認するには、getAccountForGcpRegistration メソッドを使用します。Merchant Center アカウントへの Google Cloud プロジェクトのリンクを削除するには、unregisterGcp メソッドを使用します。