GASとAdSense Management APIを使って前日分の売り上げをメール通知する方法
2024/02/06
Googleアドセンスの売り上げをチェックする際、いつもはアドセンスの管理画面に見に行っていた。これが面倒臭いのでGoogle Apps ScriptとAdSense Management APIを組み合わせて昨日分のGoogleアドセンスの売り上げをメールで受け取りたい。以下に実装方法をメモ。
目次
AdSense Management APIについて
リファレンス等は以下公式サイトより確認できる。
https://developers.google.com/adsense/management?hl=ja
実装方法
AdSense Management APIの準備
Googleスプレッドシートを開き「拡張機能→Apps Script」をクリックする。ページ左側の「サービス+」をクリックし「AdSense Management API」を追加する。正常に追加されると以下のように表示される筈。
アドセンスIDの準備
Googleアドセンスの管理画面を開く際に以下のようなURLになるので【アドセンスID】部分をメモしておく。
https://www.google.com/adsense/new/u/0/pub-【アドセンスID】/home
ソースコード
function getAdSenseData(){
//アドセンスID設定
const adsense_id = `xxxxxxxxxxxxx`;
const adsense_account = `accounts/pub-${adsense_id}`;
const adsense_dimension_id = `ca-pub-${adsense_id}`;
//昨日のデータを指定
const date = new Date();
date.setDate(date.getDate() - 1);
const y = date.getFullYear();
const m = date.getMonth() + 1;
const d = date.getDate();
const ymd = `${y}-${m}-${d}`;
//レポートの取得
const report = AdSense.Accounts.Reports.generate(adsense_account, {
filters: [`AD_CLIENT_ID==${adsense_dimension_id}`],
metrics: [`ESTIMATED_EARNINGS`],
dimensions: [`DATE`],
'startDate.day': d,
'startDate.month': m,
'startDate.year': y,
'endDate.day': d,
'endDate.month': m,
'endDate.year': y,
});
if( report[`totals`][`cells`][1][`value`] ){
sendMail( report[`totals`][`cells`][1][`value`], ymd );
}
}
function sendMail( sales, ymd ){
//送信先メールアドレス
const recipient = `xxxxxxxxxxxx@gmail.com`;
//メール件名
const subject = `アドセンス通知`;
const message = `${ymd}の売り上げは${sales}円です。`;
//メール送信
GmailApp.sendEmail(recipient, subject, message)
}
アドセンスID部分は先ほどメモしたものを入力する。送信先メールアドレスも適宜変更すること。
尚、初回実行時は権限の確認が必要になるので案内に従って進めること。
トリガー設定
毎日自動実行させるためにトリガー設定を行う必要がある。Apps Scriptページの左側に目覚まし時計っぽいアイコンがあるのでそちらからトリガー設定ページに進み以下を設定する(時刻部分は好きな時間帯でOK)。
所感
Google系のサービスと連携したシステムを作る際、PHPだとGoogle Cloud Platformでの設定作業や各種ライブラリのインストール作業が面倒臭い。この辺りを簡潔に実装できるのがGASの強みだなぁと思った。
関連記事
-
-
GASでGoogleカレンダーと連携してイベントの取得・追加・削除
Google Apps Scriptの勉強としてGoogleカレンダーと連携させ ...
-
-
GASを使ってみて感じたメリットとデメリット
Google Apps Scriptを色々勉強した中で感じたメリットとデメリット ...
-
-
GASのプログラム実行時間計測方法と各種制限についてのメモ
PHP等でプログラムを組んでいると、あまり実行時間について気にすることはなかった ...
-
-
GASで祝日一覧(年月日と祝日名)データをJSON出力するAPIを作成
PHPのシステム案件で祝日を取得し、処理を行う箇所があった。Googleカレンダ ...
-
-
GASとChatworkを連携してメッセージを送信する方法
Google Apps Scriptの勉強として「Chatwork」と連携させて ...

