Google Ads API では、Google 広告アカウントを他のサービス アカウントにリンクできます。 このガイドでは、API を使用してアカウントをリンクする方法について説明します。
アカウントをリンクする方法
Google 広告アカウントを別のサービス アカウントにリンクする場合、リンクの方法は 2 つあります。
招待フロー
招待フローは、Google 広告アカウントの管理者権限はあるが、サービス アカウントの管理者権限がない場合に使用します。このフローは、次の 2 つのシナリオで機能します。
- 2 つのアカウントをリンクし、サービス アカウントの管理者に招待状を作成する場合。サービス アカウントの管理者が招待状を承諾すると、アカウントへの関連付けプロセスが完了します。
- サービス アカウントの管理者が 2 つのアカウントをリンクしようとしているが、Google 広告アカウントにアクセスできない場合。サービス アカウントの管理者が招待状を作成し、お客様が招待状を承諾すると、アカウントへの関連付けが完了します。
このシナリオでは、次のメソッドが使用されます。
| シナリオ | アクション | 備考 |
|---|---|---|
| シナリオ 1 | 招待状を作成する |
ProductLinkInvitationService.CreateProductLinkInvitation メソッド
を使用して招待状を作成します。status
の
ProductLinkInvitation は設定しないでください。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 に更新します。 |
|
| 招待状を取り消す |
ProductLinkInvitationService.RemoveProductLinkInvitation メソッドを使用して、既存の
ProductLinkInvitation を取り消します。 |
このワークフローでは、次の一般的なエラーが発生する可能性があります。
| エラーコード | 説明 |
|---|---|
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 |
保留中の招待状がすでに存在するため、リンクを作成できません。 |
既存のサービスリンクを取得する
`product_link` リソースに対して GAQL クエリを実行すると、Google 広告アカウントに関連付けられているすべてのサービスリンクを取得できます。
SELECT
product_link.product_link_id,
product_link.type
FROM product_link
product_link.type フィールドは、リンクされたサービスまたはサービスのタイプを示します。type によって、product_link リソース内の他のフィールドが入力され、リンクの詳細が提供されます。たとえば、タイプが THIRD_PARTY_APP_ANALYTICS の場合、third_party_app_analytics フィールドにはアナリティクス プロバイダに関する情報が含まれます。
これにより、Google Play、データ パートナー、サードパーティ製アプリ解析プラットフォームなど、Google 広告アカウントに直接リンクされている外部サービスとアプリケーションのリストを取得できます。
AccountLinkService の変更
AccountLinkService を使用して Google 広告アカウントを別のサービス アカウントにリンクする場合は、既存のアプリケーションを前述のワークフローのいずれかに移行する必要があります。次のリンクタイプの場合は、AccountLinkService から移行して ProductLinkService を使用します。
GoogleAdsIdentifierMerchantCenterIdentifierAdvertisingPartnerIdentifier
ThirdPartyAppAnalyticsLinkIdentifier の場合は、引き続き AccountLinkService を使用します。