Google Ads API では、Google 広告アカウントを他のプロダクト アカウントにリンクできます。このガイドでは、API を使用してアカウントをリンクする方法について説明します。
アカウントをリンクする方法
Google 広告アカウントを別のサービス アカウントにリンクする場合、2 つの異なる方法があります。
招待フロー
招待フローは、Google 広告アカウントの管理者権限はあるが、プロダクト アカウントの管理者権限がない場合に使用します。このフローは次の 2 つのシナリオで機能します。
- 2 つのアカウントをリンクして、サービス アカウントの管理者への招待状を作成します。サービス アカウントの管理者が招待を承諾し、アカウントのリンク設定プロセスを完了します。
 - プロダクト アカウントの管理者が 2 つのアカウントをリンクしようとしていますが、Google 広告アカウントにアクセスできません。プロダクト アカウントの管理者が招待状を作成し、その招待状を承諾してリンク プロセスを完了します。
 
このシナリオでは、次のメソッドが使用されます。
| シナリオ | アクション | 備考 | 
|---|---|---|
| シナリオ 1 | 招待状を作成する | 
    ProductLinkInvitationService.CreateProductLinkInvitation メソッドを使用して招待状を作成します。
    ProductLinkInvitation の status は設定しないでください。Google Ads API サーバーは、API 呼び出しが正常に完了すると、これを REQUESTED に設定します。 | 
  
| 招待のステータスを確認する | GoogleAdsService.Search または GoogleAdsService.SearchStream を使用して product_link_invitation リソースをクエリし、そのステータスを確認します。 | 
  |
| シナリオ 2 | 招待状を取得する | GoogleAdsService.Search または GoogleAdsService.SearchStream を使用して、product_link_invitation リソースをクエリします。保留中の招待を承諾または拒否するには、
    status = PENDING_APPROVAL をフィルタします。 | 
  
| 招待を承諾または辞退する | 
    ProductLinkInvitationService.UpdateProductLinkInvitation メソッドを使用して、
    ProductLinkInvitation のステータスを ACCEPTED または REJECTED に更新します。 | 
  |
| 招待を取り消す | 既存の 
   ProductLinkInvitation を取り消すには、
    ProductLinkInvitationService.RemoveProductLinkInvitation メソッドを使用します。 | 
  
このワークフローでは、次の一般的なエラーがスローされる可能性があります。
| エラーコード | 説明 | 
|---|---|
   ProductLinkInvitationError.PERMISSION_DENIED | 
   お客様には、この操作を実行する権限がありません。 | 
   ProductLinkError.NO_INVITATION_REQUIRED | 
   ユーザーは招待されたアカウントの管理者権限をすでに持っているため、招待を作成できませんでした。ユーザーは ProductLinkService を使用して、アクティブなリンクを直接作成する必要があります。 | 
直接リンク フロー
直接リンク フローは、Google 広告アカウントとサービス アカウントの両方に管理者権限がある場合に使用されます。この場合、招待状を送信するのではなく、Google 広告アカウントを商品アカウントに直接リンクします。
このシナリオでは、次のメソッドが使用されます。
| アクション | 備考 | 
|---|---|
| アクティブ リンクを作成する | 
   ProductLinkService.createProductLink を使用して ProductLink を作成します。 | 
  
| アクティブなリンクを無効にする | 
   ProductLinkService.removeProductLink を使用して、アクティブな ProductLink を削除します。 | 
  
| アクティブなリンクを取得する | 
   GoogleAdsService.Search または GoogleAdsService.SearchStream を使用して、
   product_link リソースをクエリします。 | 
  
このワークフローでは、次の一般的なエラーが発生する可能性があります。
| エラーコード | 説明 | 
|---|---|
   ProductLinkError.CREATION_NOT_PERMITTED | 
   ダイレクト リンク フローを使用してアカウントのリンクが試みられましたが、権限がないためサポートされていません。代わりに ProductLinkInvitationService を使用して招待フローを行う必要があります。 | 
  
   ProductLinkError.INVITATION_EXISTS | 
   保留中の招待がすでに存在するため、リンクを作成できません。 | 
AccountLinkService の変更
AccountLinkService を使用して Google 広告アカウントを別のプロダクト アカウントにリンクする場合は、既存のアプリケーションを前述のワークフローのいずれかに移行する必要があります。次のリンクタイプについては、AccountLinkService から移行して ProductLinkService を使用します。
GoogleAdsIdentifierMerchantCenterIdentifierAdvertisingPartnerIdentifier
ThirdPartyAppAnalyticsLinkIdentifier には、引き続き AccountLinkService を使用します。