直接リクエストを行う

Google では、クライアント ライブラリとサンプルをご覧ください。ただし、 サポートされていない言語を使用するなど、特別なニーズがある場合は、 下記のように、直接リクエストを行うことができます。

呼び出しのスタイル

REST は、データをリクエストして変更するための便利で一貫したアプローチを提供するソフトウェア アーキテクチャのスタイルです。

REST という用語は「Representational State Transfer」の省略形です。Google API のコンテキストでは、HTTP 動詞を使用して、Google が保存しているデータ表現を取得および変更することを表しています。

RESTful システムでは、リソースはデータストアに保存されており、クライアントはサーバーが特定のアクション(リソースの作成、取得、更新、削除など)を実行するようにリクエストを送信し、サーバーはそのアクションを実行し、多くの場合、指定されたリソースの表現形式でレスポンスを送信します。

Google の RESTful API では、クライアントは POSTGETPUTDELETE などの HTTP 動詞を使用してアクションを指定します。また、次の形式のグローバルに一意な URI でリソースを指定します。

https://www.googleapis.com/apiName/apiVersion/resourcePath?parameters

すべての API リソースは HTTP でアクセス可能な一意の URI を持っているため、REST はデータ キャッシュを有効にし、ウェブの分散インフラストラクチャで動作するように最適化されています。

HTTP 1.1 標準のドキュメントのメソッド定義をご覧ください。GETPOSTPUTDELETE の仕様が記載されています。

AdSense Management API の REST

サポートされているオペレーションは REST の HTTP 動詞に直接マッピングされています。詳細は、 AdSense Management API のオペレーション

AdSense Management API の URI の形式は次のとおりです。

https://adsense.googleapis.com/v2/resourceID?parameters

ここで、resourceID は広告の識別子です。 クライアント、広告ユニット、URL チャネル、カスタム チャネル、またはレポート コレクション parameters は適用するパラメータです。 表示されます。

resourceID パス拡張の形式 を使用すると、現在運用しているリソースを識別し、 例:

https://adsense.googleapis.com/v2/accounts/account_id/adclients
https://adsense.googleapis.com/v2/accounts/account_id/adclients/adClientId
https://adsense.googleapis.com/v2/accounts/account_id/adclients/adClientId/adunits
https://adsense.googleapis.com/v2/accounts/account_id/adclients/adClientId/adunits/adUnitId
https://adsense.googleapis.com/v2/accounts/account_id/adclients/adClientId/urlchannels
...

API でサポートされている各オペレーションで使用される URI の完全なセットは、 AdSense Management API リファレンスをご覧ください。 ドキュメントをご覧ください

AdSense Management API での動作の例をいくつか示します。

広告クライアントを一覧表示する:

GET https://adsense.googleapis.com/v2/accounts/account_id/adclients/

広告クライアント ca-pub-1234567890123456 の広告ユニットのリストを作成します。

GET https://adsense.googleapis.com/v2/accounts/account_id/adclients/ca-pub-1234567890123456/adunits

データ形式

JSON(JavaScript Object Notation)は言語に依存しない一般的なデータ フォーマットであり、任意のデータ構造を単純なテキスト形式で表示します。詳しくは json.org をご覧ください。

リクエストの承認

なお、AdSense ではサービス アカウントをサポートしていません。代わりに、 インストール済みアプリケーションのフローを使用する必要があります。

アプリケーションから AdSense Management API に送信するすべてのリクエストには、認証トークンを含める必要があります。このトークンは Google でアプリケーションを識別するためにも使用されます。

認証プロトコルについて

リクエストを承認するために、アプリケーションは OAuth 2.0 を使用する必要があります。これ以外の認証プロトコルには対応していません。アプリケーションで「Google でログイン」を使用している場合、承認手続きの一部が自動化されます。

OAuth 2.0 を使用したリクエストの承認

AdSense Management API へのすべてのリクエストは、認証済みのユーザーによって承認される必要があります。

このプロセスは、OAuth クライアント ID によって促進されます。

OAuth クライアント ID を取得する

または、認証情報ページでキーを作成することもできます。

OAuth 2.0 の承認プロセス(「フロー」)の詳細は開発するアプリケーションの種類によって若干異なりますが、次の一般的なプロセスはすべての種類のアプリケーションに当てはまります。

  1. アプリケーションでユーザーデータにアクセスする必要がある場合は、特定のアクセスのスコープを Google にリクエストします。
  2. データをリクエストするアプリケーションの承認を求める Google の同意画面がユーザーに表示されます。
  3. ユーザーが承認すると、有効期間の短いアクセス トークンがアプリケーションに付与されます。
  4. アプリケーションは、リクエストにそのアクセス トークンを付与してユーザーデータをリクエストします。
  5. Google がそのリクエストとトークンが有効であると判断すると、リクエストされたデータが返されます。

プロセスによっては、更新トークンを使用して新しいアクセス トークンを取得するなど、追加の手順が必要になる場合もあります。各種アプリケーションのフローについて詳しくは、Google の OAuth 2.0 ドキュメントをご覧ください。

AdSense Management API で使用される OAuth 2.0 のスコープ情報は次のとおりです。

範囲 意味
https://www.googleapis.com/auth/adsense AdSense データに対する読み取り/書き込みアクセス権。
https://www.googleapis.com/auth/adsense.readonly AdSense データに対する読み取り専用アクセス権。

OAuth 2.0 を使用してアクセスをリクエストする場合、アプリケーションを登録したときに Google から提供された情報(クライアント ID やクライアント シークレットなど)に加えて、スコープ情報が必要になります。

ヒント: Google API クライアント ライブラリで一部の承認プロセスを処理することもできます。これらのライブラリはさまざまなプログラミング言語で用意されています。詳細については、ライブラリとサンプルのページをご覧ください。

リクエストの実行

最後のステップは API リクエストの実行です。詳しくは、 リファレンス ドキュメントを 情報です。