■■■ 2021/08/18追記
AdSenseのAPIでAdMobデータで取得するのは非推奨になりました。
下URLを参考にAdMobのAPIへの移行をして下さい。
https://developers.google.com/admob/api/v1/migration
■■■
Admobのデータを取得する方法です。
まずはBundlerでgoogle-api-client
をインストールします。
gem 'google-api-client'
次にrefresh_token
・client_id
・client_secret
を取得します。
この辺りは下記の記事が詳しいです。
Google API OAuth2.0のアクセストークン&リフレッシュトークン取得手順メモ - Qiita
取得は以下の通りです。
REFRESH_TOKEN、CLIENT_ID、CLIENT_SECRETは先程取得したものを使って下さい。
ACCOUNT_IDはAdmobの管理画面にあるpub-xxxxxxという文字列です。
require 'google/apis/adsense_v1_4' client = Google::Apis::AdsenseV1_4::AdSenseService.new client.authorization = Signet::OAuth2::Client.new( token_credential_uri: 'https://accounts.google.com/o/oauth2/token', refresh_token: REFRESH_TOKEN, client_id: CLIENT_ID, client_secret: CLIENT_SECRET ) result = client.generate_account_report( ACCOUNT_ID, 'today-1m', 'today', dimension: 'DATE', metric: ['PAGE_VIEWS', 'CLICKS', 'EARNINGS']" ).to_h
広告のUNIT_IDでフィルターをかける事も可能です。
result = client.generate_account_report( ACCOUNT_ID, 'today-1m', 'today', dimension: 'DATE', metric: ['PAGE_VIEWS', 'CLICKS', 'EARNINGS']", filter: "AD_UNIT_CODE==xxxxxxxx").to_h