ポンコツエンジニアのごじゃっぺ開発日記。

いろいろポンコツだけど、気にするな。プログラム&ロボット大好きなポンコツが日々の記録を残していきます。 自動で収入を得られるサービスやシステムを作ることが目標!!

【GAS】Googleアドセンスの収益レポートをLINEで確認できるようにする方法!

Googleアドセンスでブログに広告を貼り付けると、頻繁にGoogleアドセンスのページにいって成果の確認をしちゃいますよね。 あれをLINEにボットが通知してくれたら便利じゃないですか? ということで、成果・収益・収入のレポートをLINEに投稿してくれるボットを作ってみましたので、それの導入から実際の投稿例を紹介したいと思います。

最終アウトプット

まず、どういうことが実現できるのかを最初に書いておきましょう。 f:id:ponkotsu0605:20191014195429p:plain このように、指定した時間にGoogleアドセンスのレポートを投稿してくれます。 これを目指して作ってみましょう!

GASとは

GASとはGoogle Apps Scriptの略です。Googleアカウントを持っている人であれば誰でも簡単に利用できるサーバのようなもの。うまく扱うととても便利なものが作れます。はじめての人にはピンと来ないかもしれないが、この記事で使い方を紹介するのでなんとなく理解できるかなと思います。

LINEボットを作成する

今回の目玉の1つであるLINEボットの作り方ですが、以前詳しく作り方を書いたのでそちらを見ていただきたいです。以下の記事を熟読してLINEボットの作成をしてから次に進んでいただきたいです。

www.pnkts.net

これ以降は上の記事を読んだ前提で進みますのでご注意ください。 投稿するボットのaccess_tokenと投稿先の部屋のuserIdをメモしてください。

Googleアドセンスのレポートを投稿する

では、今回のメインであるレポートの投稿部分です。

スクリプト部分

新しくGASのプロジェクトを作成して、以下のスクリプトを貼り付けてください。

function getAdsenseData() {
  var now = new Date();
//  var startDate = Utilities.formatDate(new Date(now.getYear(), now.getMonth(),1), 'Asia/Tokyo', 'yyyy-MM-dd');
  var startDate = Utilities.formatDate(new Date(now.getYear(), now.getMonth(),now.getDate() -1), 'Asia/Tokyo', 'yyyy-MM-dd');
  
  var endDate = Utilities.formatDate(now, 'Asia/Tokyo', 'yyyy-MM-dd');
  var report = AdSense.Reports.generate(startDate, endDate, {
    metric: ['PAGE_VIEWS', 'AD_REQUESTS', 'CLICKS',
             'AD_REQUESTS_CTR', 'COST_PER_CLICK', 'AD_REQUESTS_RPM',
             'EARNINGS'],
  }).rows;
  
  return report;
}
function main() {
  var report = getAdsenseData();
  Logger.log(report)
  text = '今日の成果です'
  + "\nページビュー数:" + report[0][0] 
  + "\n広告リクエスト回数:" + report[0][1] 
  + "\nクリック数:" + report[0][2] 
  +"\nCTR:"+ report[0][3]
  + "\nCPC:" + report[0][4] 
  + "\nRPM:" + report[0][5] 
  + "\n見積もり収益:" + report[0][6] 

  line(text)
}


// line developersに書いてあるChannel Access Token
var access_token = '<アクセストークンをここに貼り付ける>';

/**
* 指定のuser_idにpushをする
*/
function line(text) {
  var to = '<投稿先のuserIdをここに貼り付ける>';
  Logger.log('push:' + to + ':' + text)
  var url = "https://api.line.me/v2/bot/message/push";
  var headers = {
    "Content-Type" : "application/json; charset=UTF-8",
    'Authorization': 'Bearer ' + access_token,
  };
  
  var postData = {
    "to" : to,
    "messages" : [
      {
        'type':'text',
        'text':text,
      }
    ]
  };
  
  var options = {
    "method" : "post",
    "headers" : headers,
    "payload" : JSON.stringify(postData)
  };
  
  return UrlFetchApp.fetch(url, options);  
}

ここで、アクセストークンと投稿先のuserIdをソースコードに書くのを忘れないでください。 おそらく以下のようなスクショのようになるかと思います。 f:id:ponkotsu0605:20191014200603p:plain

Googleアドセンスの設定

上のメニューから「リソース」→「Googleの拡張サービス...」を選択します。

f:id:ponkotsu0605:20191014200704p:plain

そして、GoogleAdSence Management APIを有効にします。 f:id:ponkotsu0605:20191014200831p:plain

そしてOKをおします。

動作確認

あとは、main()を実行してみましょう。 f:id:ponkotsu0605:20191014195429p:plain

このようにLINEに通知されれば成功です!

スケジュールの設定

さて、次に指定した時間に自動で投稿するように設定しましょう。 上のアイコンから時計っぽいアイコンをクリックします。 すると、以下のようなページが開かれます。

f:id:ponkotsu0605:20191014201243p:plain ページの右下のトリガーを追加をクリックします。

そして、以下のように実行したいタイミングを設定します。 f:id:ponkotsu0605:20191014201333p:plain

上の画像の例では、毎日23時台に今日のレポートを投稿するように設定しました。これで設定は完了で、あとは23時になるまで待機です。

さいごに

これでGoogleアドセンスのレポートをLINEに通知するボットを作成することができました。うまく調整できれば次の日に昨日のレポートを投稿することも可能です。 これでより収益のレポートをワクワクして待つことができますね!