Host API 登録手順

ここでは AdSense のサイト運営者アカウントを作成する方法と、アカウントを AdSense Host API v4.x のホストと関連付ける方法について、手順を詳しくご説明します。アカウントの関連付けは、収益の分配やレポートをはじめ、AdSense Host API のすべての機能で必要になるため、ホストの方が必ずこの手順を実行する必要があります。

概要

アカウントの作成と関連付けは AdSense ウェブサイトで行いますが、ユーザーのリダイレクトや処理終了後の ID の保管は、ホストの方が行う必要があります。

登録手順は次の 4 つです。

  1. ホストの方が associationsessions.start を呼び出して新しい関連付けをリクエストします。
  2. ホストの方が、返された関連付けセッションで指定された URL に該当のユーザーをリダイレクトします。その後、該当のユーザーが AdSense ウェブサイトで手順を完了します。
  3. ユーザーは、トークンが発行されたうえでホストの方のウェブサイトに戻されます。
  4. ホストの方が、associationsessions.verify を呼び出してトークンを確認します。関連付けが適切に完了すると、レスポンスに該当のサイト運営者のアカウント ID が含まれます。この ID は、このサイト運営者に関連するすべての API 呼び出しで使用できるよう、ホストの方がローカルに保存してください。

手順 1: 関連付けセッションを開始する

サイト運営者を登録ページにリダイレクトするには、ホストの方が、まず新しい関連付けセッションをリクエストする必要があります。これは associationsessions.start を呼び出すことで行います。レスポンスは次のようになります。

{
  'id': '00000000-0000-0000-0000-000000000000',
  'redirectUrl': '<redirect URL>',
  'websiteUrl': 'www.example.com',
  'productCodes': ['AFC'],
  'kind': 'adsensehost#associationSession'
}

このうち、重要なのは redirectUrlid です。このセッションの固有 ID となります。この id は、後でコールバック中に特定のユーザーを識別できるよう、ローカルに保存する必要があります。

redirectUrl で、ユーザーを次の段階にリダイレクトする必要があります。

手順 2: AdSense ウェブサイトにリダイレクトする

アカウントの作成や既存のアカウントの関連付けは、AdSense ウェブサイト上にある専用の API 登録ページで行います。

アカウントの作成や関連付けは AdSense ウェブサイト上で行います。
図 1: AdSense ウェブサイトでの登録

ここで必要なのは、手順 1 で取得した redirectUrl にユーザーをリダイレクトすることだけです。残りの処理は自動的に行われます。

手順 3: コールバックを行う

ユーザーは、AdSense ウェブサイトで必要事項を記入し、登録を済ませると、ホスト アカウントと関連付けられている既定のコールバック URL にリダイレクトされます。

セキュリティ上の観点から、コールバック時に関連付けの詳細情報が直接送信されることはありません。その代わり、コールバック リクエストには token という単一の HTTP パラメータが含まれます。関連付け処理の成否にかかわらず、このパラメータは必ず設定されます。

GET http://your.callback.url/path?token=<associationtoken>

ユーザーが何度も登録手順を行わなくても済むよう、すべてのコールバックを登録、記録してください。

手順 4: トークンの確認

処理の成否も含めた関連付けセッションの詳細情報を取得するためには、手順 3 で取得したトークンで associationsessions.verify を呼び出す必要があります。

エラーが生じる場合、またはユーザーが関連付けを拒否した場合は、次のようなレスポンスが返されます。

{
  'id': '00000000-0000-0000-0000-000000000000',
  'status': 'REJECTED',
  'kind': 'adsensehost#associationSession'
}

id によって、この関連付けセッションに参加しているユーザーを識別します。その際は、手順 1 で保存した関連付け ID と比較します。

status は、セッションの処理の成否を示しています。承認された場合は ACCEPTED、ユーザーが関連付けを拒否した場合は REJECTED、AdSense ウェブサイト上での登録プロセス中に何らかのエラーが発生した場合は ERROR と表示されます。

関連付けが承認された場合は、次のようにフィールドが追加されます。

{
  'id': '00000000-0000-0000-0000-000000000000',
  'status': 'ACCEPTED',
  'accountId': 'pub-0000000000000000',
  'kind': 'adsensehost#associationSession'
}

この accountId フィールドには、ユーザーの AdSense アカウントの ID が含まれます。この ID は、該当のユーザーに関連付けられた API 呼び出しを行えるよう、ホストの方がローカルに保存する必要があります。

完了

アカウントの ID を保存したら、そのユーザーを管理するために必要な情報をすべて取得できたことになります。この ID を使用して、ユーザーに固有の API 呼び出しを行うことができます。たとえば、accounts.get でユーザーの AdSense アカウントのステータスをチェックしたり、accounts.adunits コレクションで広告ユニットを管理したりすることが可能です。

フィードバックを送信...