PR
スポンサーリンク

初心者向け!Google Adsense収益データをLINEで定期通知する方法

スポンサーリンク
Google AdSense
この記事は約9分で読めます。
スポンサーリンク

こんにちは、Kurochuです(๑>◡<๑)

今回はKurochu’s LOGではめずらしく(?)プログラム系のことを書いてみました〜

    はじめに

    現代の社会人には、仕事(本業)副業家事投資ポイ活自己学習。。。などなど、やることが山のようにあるんですよね。そんなものを全てこなしていたら、体がいくつあっても足りません。

    そこで、定型的な作業はロボット(プログラム)がやってくれればいいのにな〜、と思ったことは皆さん一度くらいあるはず。

    Kurochuにとっても、「ロボットさん代わりにやっといて〜!!」と丸投げしたくなる作業があるのです。それが、「Google Adsenseの収益データを確認する」という作業なのでした。

    Google Adsenseの収益確認ページ

    こちらの画面を一日に何度も訪れては、「今日も収益出てるなぁぁ、うふふ( ̄∇ ̄)」なんて一人でニヤニヤしちゃってます(笑)

    Google Adsenseの収益が気になってしょうがない

    Google Adsenseから月3万円程度の収益が出始めた今日この頃、暇さえあればこのサイトを覗いてしまいます。感覚ベースですが、Kurochuと似たような「Adsense中毒」になっている方々も多いはずです。

    ですが最近、Google Adsenseのサイトにアクセスするデータ通信量や、ローディングを待っている時間などを合計すると、かなり無駄なことをしているのではないか、と考えるようになってきました。

    そこで、毎日のGoogle Adsense収益をサイトを覗きにいかなくても、定期的に通知として確認できるようにすることを決意したのです。

    作るプログラムにさせること・できること

    ここで、これから作成するプログラムにさせることを整理しておきます。

    作成するプログラムでできること

    上記の図を言葉で説明すると、Google AdsenseからGoogle App Script(GAS)というGoogle独自のプログラミング言語を使って収益データを取得します。その後、そのデータをLINEに飛ばします。

    1. Google Adsenseからデータを取得
    2. 取得した収益データをLINEに送信

    言葉にしてしまえば、かなりシンプルですね。それでは、ここから本プログラムを実装する手順について解説していきます。

    プログラムの実装

    Google App Script(GAS)にコードを記述

    プログラムにあまり詳しくない方は、「プログラムを書いて動かすって、パソコンをずっと起動させておかなければいけないの?」「サーバーを有料で契約しないといけないの?」などと勘違いされるかもしれませんが、そんな面倒くさいことをする必要はなく、どこかにお金を払う必要もありません

    詳しい説明は省きますが、端末をずっと動かしておく必要もなく、無料でプログラムを走らせ続けられる大変便利なものが、Google App Scriptだと思っておいていただければと思います。

    まず、Googleのホームページにある右上のメニューアイコンより、「ドライブ」を選択します。

    Googleドライブを選択

    左上にある「新規」ボタンを押下します。

    Googleドライブ左上の新規を選択

    その他>Google App Scriptを選択します。

    Google App Scriptを選択

    すると、以下のような真っ白いページが表示されます。これが、Google App Scriptのエディタ画面(プログラムを記述する場所)になります。

    GASのエディタ画面

    そのテキストエリアに以下のコードを丸々コピー&ペーストしてください。

    const LINE_APIKEY = '★★★★★★★★★★★★★★★★★★★★'
    
    function myGetAdSenseData() {
      const id = 'pub-❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤';
      var adClientReportingDimensionId = 'ca-' + id
      var accountName = 'accounts/' + id;
      generateReport(accountName, adClientReportingDimensionId);
    }
    
    function generateReport(accountName, adClientReportingDimensionId) {
      const today = new Date();
      const oneWeekAgo = new Date(today.getTime() - 7 * 24 * 60 * 60 * 1000);
    
      const report = AdSense.Accounts.Reports.generate(accountName, {
        filters: ['AD_CLIENT_ID==' + escapeFilterParameter(adClientReportingDimensionId)],
        metrics: ['ESTIMATED_EARNINGS'],
        dimensions: ['DATE'],
        ...dateToJson('startDate', today),
        ...dateToJson('endDate', today),
        orderBy: ['+DATE']
      });
    
      if (report.rows) {
        var incomeAmount = Number(report.rows.map((row) => row.cells.map((cell) => cell.value))[0][1]);
        var body = "\n本日の売上:" + incomeAmount.toLocaleString() + "円"
        console.log(incomeAmount);
        sendLine(body);
      }
    }
    
    function escapeFilterParameter(parameter) {
      return parameter.replace('\\', '\\\\').replace(',', '\\,');
    }
    
    function dateToJson(paramName, value) {
      return {
        [paramName + '.year']: value.getFullYear(),
        [paramName + '.month']: value.getMonth() + 1,
        [paramName + '.day']: value.getDate()
      };
    }
    
    function sendLine(body){
      console.log(body);
      var options = {
        "method": "post",
        "payload" : {"message": body},
        "headers": {"Authorization": "Bearer " + LINE_APIKEY}
      };
      UrlFetchApp.fetch("https://notify-api.line.me/api/notify", options);
    }

    ここまで出来たら、ステップ1完了です。お疲れ様でした。

    Google AdsenseからパブリッシャーIDを取得

    実は、貼り付けていただいたプログラムはまだ完成系ではありません。

    上記で貼り付けていただいたプログラムをよく見ると、「❤︎❤︎❤︎❤︎❤︎❤︎❤︎❤︎❤︎❤︎❤︎❤︎❤︎❤︎❤︎❤︎❤︎❤︎❤︎❤︎」と「★★★★★★★★★★★★★★★★★★★★」という明らかにおかしい部分がありますよね。

    この部分の記述に関しては、各自で異なるので、ご自身で適切な値に上書きしていただく必要があります。

    まずは、Google AdsenseのパブリッシャーIDの取得方法から解説していきます。

    このパブリッシャーIDというのをキーとして、Google Adsenseの収益データにアクセスすることができます。

    Google AdsenseのパブリッシャーID

    パブリッシャーIDは、Google Adsenseサイトの左メニュー「アカウント情報」から確認することができます。個人情報なので、上記画像では黒塗りさせていただいています。

    こちらから取得した値を「❤︎❤︎❤︎❤︎❤︎❤︎❤︎❤︎❤︎❤︎❤︎❤︎❤︎❤︎❤︎❤︎❤︎❤︎❤︎❤︎」と差し替えることで、ステップ2完了です。

    LINE NotifyからAPIキーを取得

    次は、LINEとの連携を実現させるため、LINE NotifyのAPIキーを取得します。

    LINE Notifyのホームページ

    各自のLINEアカウントでログインし、マイページを開いて下さい。

    LINE Notify

    ページ下部に上記の記述があるので、「トークンを発行する」ボタンを押下し、ページの指示に従う形で操作してください。

    最後に以下の画面が表示されます。

    LINE Notifyのアクセストークン発行ページ

    ここで表示されたコードをコピーし、最初にコピペしてもらったプログラムの「★★★★★★★★★★★★★★★★★★★★」の部分と差し替えてください。これにより、ご自身のLINEで通知を受信することができるようになります。

    作成したプログラムのテストを実施

    ここまでできていれば、もうプログラムが動くはずなので、テストしてみましょう。

    プログラムを動かすのは簡単で、以下の赤枠の「実行」ボタンを押下します。

    GASプログラムの実行方法

    初回起動時には、プログラムの権限を確認する以下のポップアップが出現します。

    「権限を承認」ボタンを押下します。

    「権限を承認」ポップアップ

    ログインするアカウントを選択します。

    アカウント選択画面

    「詳細」リンクを押下します。

    セキュリティ確認画面①

    「無題のプロジェクト(安全ではないページ)に移動」リンクを押下します。

    セキュリティ確認画面②

    上記の操作を完了すると、プログラムが動きだします。

    ご自身のLINEに以下のような通知が来ていることをご確認ください。

    LINE Notifyからの通知メッセージ
    定期実行させるトリガーを設定

    作成したプログラムを定期的に実行させるためには、別途設定が必要となります。ここからはその手順について解説していきます。

    左メニューの時計アイコンを押下します。

    画面右下の「トリガーを追加」ボタンを押下します。

    GASトリガー設定画面

    トリガーの条件設定画面が出現するので、任意の条件を設定します。

    以下の例では、1時間毎にGoogle Adsenseから当日の収益をLINEに通知するトリガーとなっています。

    GASトリガー設定画面

    以上でGoogle Adsenseの収益データをLINEに定期通知するプログラムの実装が全て完了しました。ここまでお疲れ様でした!!

    おわりに

    いかがでしたでしょうか?

    今回は、GASを使って、Google Adsenseの収益データをLINEに通知する方法について、初心者でも分かるように解説してみました。

    GASを使ったことがある人、プログラム経験のある人からすると、丁寧すぎでクドすぎたかもしれませんが、ご容赦ください。

    また、「GASで◯◯するにはどうすればいいのか解説してほしい!」等のコメントをいただければ、ブログで紹介するので、気軽にコメントいただけると嬉しいです。

    ここまでお読みいただき、ありがとうございましたm(_ _)m

    コメント

    タイトルとURLをコピーしました