AdSenseの日時売上レポートをHipChatにレポートする方法
10607 ワード
HipChatに日々の売上レポートを通知させたいですよね。
今回はGoogleAppScriptとHipchatのAPIを利用して実現してみます。
HipChatのAdmin API tokenを取得する
GoogleAppsScriptでAdSenseの売上を集計する
function addFigure(str) {
var num = new String(str).replace(/,/g, "");
while(num != (num = num.replace(/^(-?\d+)(\d{3})/, "$1,$2")));
return num;
}
/*
* @example
* generateReport('2014-01-01')
*/
function generateReport(date){
var startDate = date;
var endDate = date;
var args = {
'metric': ['AD_REQUESTS', 'AD_REQUESTS_CTR', 'COST_PER_CLICK', 'AD_REQUESTS_RPM', 'EARNINGS', 'CLICKS'],
'dimension': ['DATE'],
'useTimezoneReporting': true
};
var rows = AdSense.Reports.generate(startDate, endDate, args).getRows();
var row = rows[0];
var message = [
row[0],
'収益: ¥' + addFigure(row[5]),
'広告リクエスト: ' + addFigure(row[1]),
'広告リクエストCTR: ' + parseFloat(row[2]) * 100 + '%',
'CPC: ¥' + addFigure(row[3]),
'広告リクエストRPM: ¥' + addFigure(row[4])
].join("<br>");
sayMessage(message);
}
集計結果をHipChatAPIで通知する
function addFigure(str) {
var num = new String(str).replace(/,/g, "");
while(num != (num = num.replace(/^(-?\d+)(\d{3})/, "$1,$2")));
return num;
}
/*
* @example
* generateReport('2014-01-01')
*/
function generateReport(date){
var startDate = date;
var endDate = date;
var args = {
'metric': ['AD_REQUESTS', 'AD_REQUESTS_CTR', 'COST_PER_CLICK', 'AD_REQUESTS_RPM', 'EARNINGS', 'CLICKS'],
'dimension': ['DATE'],
'useTimezoneReporting': true
};
var rows = AdSense.Reports.generate(startDate, endDate, args).getRows();
var row = rows[0];
var message = [
row[0],
'収益: ¥' + addFigure(row[5]),
'広告リクエスト: ' + addFigure(row[1]),
'広告リクエストCTR: ' + parseFloat(row[2]) * 100 + '%',
'CPC: ¥' + addFigure(row[3]),
'広告リクエストRPM: ¥' + addFigure(row[4])
].join("<br>");
sayMessage(message);
}
var authToken = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
function getRequestURL(){
var url = "http://api.hipchat.com/v1/rooms/message";
return url + '?auth_token=' + authToken;
}
function sayMessage(message) {
var options = {
"contentType" : "application/x-www-form-urlencoded",
"method": "post",
"payload": {
"room_id": XXXXXX, // Found in the hipchat.com MyAccount > Rooms > API ID
"from": 'AdSense',
"notify": 0,
"message": message ? message : "",
"color": 'green',
"message_format": 'html'
},
//"muteHttpExceptions": true
};
var responseString = UrlFetchApp.fetch(getRequestURL(), options).getContentText();
Logger.log(responseString);
}
出来上がり
Author And Source
この問題について(AdSenseの日時売上レポートをHipChatにレポートする方法), 我々は、より多くの情報をここで見つけました https://qiita.com/takimo@github/items/25a72b2978262d6e81ce著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .