使用Google应用程序脚本将Hubspot Analytics API中的JSON写入Google电子表格

时间:2018-10-21 03:15:34

标签: json google-apps-script analytics hubspot

我需要你的帮助。

我正在尝试将Hubspot帐户中的分析数据导入Google Spreadsheet,以便可以进行一些计算并将其输入到Google Data Studio仪表板中。

我正在向Hubspot的Analytics API发出请求,该API以JSON的形式返回数据。

function getAnalytics() {
// Prepare authentication to Hubspot
   var service = getService();
   var headers = {headers: {'Authorization': 'Bearer '+service.getAccessToken()}};
   var analytics = Array();

// API request

   var url = API_URL + "/analytics/v2/reports/sessions/monthly&start=20180101&end=20181001";
   var response = UrlFetchApp.fetch(url, headers);
   var result = JSON.parse(response.getContentText());  
   Logger.log(result)

}

到目前为止,似乎代码可以完成工作。

Logger.log (result) 

返回:

[18-10-20 19:40:40:112 PDT] {2018-09-01 = [{directTraffic = 796,桌面= 1347,emailMarketing = 194,推荐= 24,细分=会话,移动= 1372 ,socialMedia = 396,organicSearch = 500,paidSearch = 814,others = 5},{directTraffic = 654,台式机= 1204,emailMarketing = 165,引荐= 22,细分=新访客,移动电话= 1279,socialMedia = 379,organicSearch = 481,paidSearch = 782},{directTraffic = 8417,桌面= 8366,emailMarketing = 6649,引荐= 8750,细分= bounce-percent-dec,移动电话= 9037,socialMedia = 7398,organicSearch = 9340,payedSearch = 9717,其他= 8000},{directTraffic = 125,台式机= 117,emailMarketing = 108,引荐= 100,细分=每次会话观看次数降低,移动设备= 106,socialMedia = 103,organicSearch = 112,paidSearch = 103,其他= 0 },{directTraffic = 134,台式机= 130,emailMarketing = 142,引荐= 112,细分=每次会话互动数,dec,移动设备= 113,socialMedia = 130,organicSearch = 115,paidSearch = 104,其他= 120}, {directTraffic = 75,台式机= 65,emailMarketing = 72,引荐= 15,细分=每次会话的时间n,移动设备= 22,社交媒体= 47,有机搜索= 29,付费搜索= 15,其他= 48}],2018年10月1日= [{directTraffic = 27,桌面= 47,emailMarketing = 11,细分=会话,移动= 33,socialMedia = 9,organicSearch = 10,paidSearch = 23},{directTraffic = 23,台式机= 39,emailMarketing = 10,细分=新访客,移动电话= 32,socialMedia = 7,organicSearch = 9,paidSearch = 22} ,{directTraffic = 8518,台式机= 9148,emailMarketing = 7272,细分= bounce-percent-dec,移动电话= 9090,socialMedia = 10000,organicSearch = 10000,payedSearch = 10000},{directTraffic = 107,台式机= 100,emailMarketing = 100,细分=每次会话观看次数,移动= 103,socialMedia = 88,organicSearch = 100,payedSearch = 100},{directTraffic = 114,桌面= 108,emailMarketing = 127,细分=每次会话互动次数dec,mobile = 109,socialMedia = 100,organicSearch = 100,paidSearch = 100},{directTraffic = 7,desktop = 5,emailMarketing = 58,细分=每次会话时间,mobile = 18,socialMedia = 0,organicSearch = 0,paidSearch = 0}],2018-08-01 = [{directTraffic = 908,desktop = 1184,em ailMarketing = 57,引荐= 63,细分=会话,移动= 1308,socialMedia = 176,organicSearch = 362,paidSearch = 935,其他= 9},{directTraffic = 774,桌面= 1055,emailMarketing = 46,引荐= 54,细分=新访客,移动= 1249,社交媒体= 161,organicSearch = 349,payedSearch = 922,其他= 2},{directTraffic = 8865,台式机= 8952,emailMarketing = 7719,引荐= 8412,细分= bounce-percent- dec,mobile = 9686,socialMedia = 9715,organicSearch = 9419,paidSearch = 9839,others = 7777},{directTraffic = 124,台式机= 124,emailMarketing = 129,引荐= 119,细分=每次会话观看次数,移动设备= 104,社交媒体= 111,有机搜索= 113,付费搜索= 102,其他= 55},{directTraffic = 134,桌面= 133,emailMarketing = 157,引荐= 123,细分=每次会话互动数(十月),移动= 105,socialMedia = 113,organicSearch = 116,paidSearch = 102,others = 133},{directTraffic = 59,台式机= 64,emailMarketing = 98,引荐= 96,细分=每次会话时间,移动设备= 8,socialMedia = 16,organicSearch = 39,payedSearch = 4,其他= 52} ]

我现在要做的是将这些数据整理到电子表格中。我在做这件事时遇到了麻烦。

你们可以为此提供帮助吗?

非常感谢您。

最好

1 个答案:

答案 0 :(得分:0)

我的Google Apps脚本用于解析Hubspot联系人查询的JSON响应。我确定您的变量会有所不同,但这就是它的工作方式。

        // API request
           var url = API_URL + "/analytics/v2/reports/sessions/monthly&start=20180101&end=20181001";
       //  Your code above       
           var response = UrlFetchApp.fetch(url, {'muteHttpExceptions': true});
       //  Make request to API and get response before this point.
           var json = response.getContentText();
           var data = JSON.parse(json);
           //Logger.log(data.contacts[0]);
           var id = data['contacts'][0]['identity-profiles'][0].vid; 
           var who = data['contacts'][0]['identity-profiles'][0]['identities'][0]['value']; 
           var rep_id = data['contacts'][0].properties.relationship_manager['value']; 
       //  Logging the values collected
           Logger.log(id);
           Logger.log(who);
           Logger.log(rep_id);
    }

取决于将数据嵌套在哪种格式上的深度。

希望这会有所帮助。