よくある質問

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

一般登録

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

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

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

Merchant API を試すだけの場合は、登録が不要な Google OAuth Playground や API Explorer などのツールを使用できます。

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

登録は、Google Cloud プロジェクトごとに 1 回だけ行う設定です。複数の販売アカウントを使用しているかどうかにかかわらず、登録オペレーションは 1 回だけ実行します。これは、リンクされた Google Cloud プロジェクト内のすべてのユーザーとサービス アカウントに適用されます。

Google Cloud プロジェクトが正常に登録されると、unregisterGcp メソッドを呼び出して明示的に削除しない限り、リンクは有効なままになります。APIs 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 を使用する場合は、次の操作を行います。

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

サービス アカウントを使用する場合は、次の操作を行います。

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

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

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

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

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

  • メールの認証: 通常、Merchant API へのリクエストを承認するための ID として、Google アカウントまたはサービス アカウントに関連付けられたメールアドレスを使用します。ただし、次の条件を満たす必要があります。
    • 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 アカウントを選択するにはどうすればよいですか?

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

  • 既存のアドバンス アカウントを持つショッピング モール: ショッピング モールとして運営しており、プラットフォーム全体を表すアドバンス アカウントをすでに持っている場合は、この既存のアカウント 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 を使用する Gmail などの Google アカウント: この方法では、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 呼び出しを行う場合:

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

認証ユーザーがデベロッパーの連絡先ユーザーと異なる場合があります。詳細については、認証用メールアドレスと 1 つのデベロッパー連絡先メールアドレスの違いは何ですか?をご覧ください。

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

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

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

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

ユーザーとロール

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

デベロッパーのメール アカウントは 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 developer」ロールにはどのような権限がありますか?

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

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

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

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

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

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

サービスがすぐに中断されないように、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 の登録はどのように行われますか?

Apps 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 メソッドを使用します。

Shopify の Google & YouTube アプリユーザー向けの Content API から Merchant API への移行

サードパーティのプラットフォームとアプリ向けの Content API から Merchant API への移行に関するよくある質問:

Content API から Merchant API に移行するにあたって、何か対応が必要ですか?

特に対応は必要ありません。Shopify の Google & YouTube アプリを使用して Merchant Center フィードを管理している場合、Content API から Merchant API への移行は Google によって処理されます。

移行によって商品 ID は変更されますか?

いいえ。移行によって Merchant Center フィードの商品 ID が変更されることはありません。

移行を完了するには、Shopify で Google & YouTube アプリを再インストールする必要がありますか?

移行を完了するために、お客様側でご対応いただく必要はございません。Google & YouTube アプリの再インストールも必要はありません。

Merchant Center に Content API のデータソースがまだ表示されるのはなぜですか?

Merchant API への移行中も、Content API のデータソースが Merchant Center に表示されることがあります。これは想定される現象であり、対応は必要ありません。