キモブロ

Please spy check please, Fucking retard

AdsenseのGoogle APIコマンドラインツールを使ってみる

Adsenseのっていうかgoogle-apiってコマンドラインツールを使って、AdsenseAPIを使う手順のメモ。google-apiコマンドあればgoogleapiに簡単にアクセスできるので便利

インストール

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はこのコマンドラインツールで同じような感じで全部扱えるのがすごい便利ですね。