AdsenseのGoogle APIコマンドラインツールを使ってみる
Adsenseのっていうかgoogle-apiってコマンドラインツールを使って、AdsenseのAPIを使う手順のメモ。google-apiコマンドあればgoogleのapiに簡単にアクセスできるので便利
インストール
gem install google-api-client
以下の文書では
- Google Developer Accountを持っている
- Google ConsoleにてDesktop applicationのOAuth client登録が完了し、そのclient idとclient secretが判明しているという状況
を前提とします
まずOAuthログインします
$ google-api oauth-2-login --client-id="あなたのClientId" --client-secret="あなたのClientSecret" --scope="https://www.googleapis.com/auth/adsense.readonly" これを実行するとURLが表示されるのでそれをブラウザで開き、OAuth2の認証を行います。成功するとこのコマンドがちゃんと終了します
次にadsense関係のapiのリストを表示してみます
$ google-api list --api=adsense adsense.accounts.adclients.list adsense.accounts.adunits.customchannels.list adsense.accounts.adunits.get adsense.accounts.adunits.list adsense.accounts.customchannels.adunits.list adsense.accounts.customchannels.get adsense.accounts.customchannels.list adsense.accounts.get adsense.accounts.list adsense.accounts.reports.generate adsense.accounts.urlchannels.list adsense.adclients.list adsense.adunits.customchannels.list adsense.adunits.get adsense.adunits.list adsense.customchannels.adunits.list adsense.customchannels.get adsense.customchannels.list adsense.reports.generate adsense.urlchannels.list
いっぱいある
とりあえず自分のアカウントのリストを取得してみる
$ google-api adsense.accounts.list --api=adsense { "kind": "adsense#accounts", "etag": "\"O74RcnorMF7HDcRCLJYR95aiMiY/LIQ_HKq0xDbZJmtviFd5sQ\"", "items": [ { "kind": "adsense#account", "id": "pub-*****", "name": "pub-*****" } ] }
うぉおちゃんと取れてます
さらにそのアカウントに紐付くadclientsの情報を取得してみる
$ google-api adsense.accounts.adclients.list --api=adsense accountId=pub-*** { "kind": "adsense#adClients", "etag": "\"O74RcnorMF7HDcRCLJYR95aiMiY/LIQ_HKq0xDbZJmtviFd5sQ\"", "items": [ { "id": "ca-host-pub-***", "kind": "adsense#adClient", "productCode": "AFC_HOST", "supportsReporting": true }, { "id": "ca-pub-****", "kind": "adsense#adClient", "productCode": "AFC", "supportsReporting": true } ] }
too easy!
次は広告ユニットの情報を表示してみる
acountidと、adclientidが必要ですがそれらはすでに取得済みなので
$ google-api adsense.adunits.list --api=adsense accountId=pub-**** adClientId=ca-pub-**** { "kind": "adsense#adUnits", "etag": "\"O74RcnorMF7HDcRCLJYR95aiMiY/LIQ_HKq0xDbZJmtviFd5sQ\"", "items": [ { "code": "****", "id": "ca-pub-*****", "kind": "adsense#adUnit", "name": "MyFirstAD", "status": "ACTIVE" } ] }
良い感じですね。こんなかんじであらゆる分野のGoogle APIはこのコマンドラインツールで同じような感じで全部扱えるのがすごい便利ですね。