2015-11-14 47 views
1

我试图与Analytics Measurement Protocol一个节点的WebKit应用程序中实现谷歌分析API,我设法做到这一点与ga-dev-tools.appspot.com,但我不能用它一个简单的JavaScript请求。 我想的问题是报头参数“原点”(在一个节点的webkit的应用程序是“文件://”),因此,我试图使用与节点的http请求,但我得出了相同的结果:Google与然而"hitParsingResult": [ {"valid": true,...响应在Google Analytics仪表板中?无法看到该事件,或者在此情况下无法看到网页浏览。NW.js /谷歌的NodeJS整合分析

奇怪的是,如果我用 ga-dev-tools.appspot.com(复制为cURL)上的铬检查器复制请求,并将其在linux终端中执行,它可以工作,但不能用nodejs http请求。

细节: 卷曲呼叫

curl 'https://www.google-analytics.com/collect' -H 'Accept: */*' -H 'Referer: https://ga-dev-tools.appspot.com/hit-builder/' -H 'Origin: https://ga-dev-tools.appspot.com' -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36' -H 'Content-Type: application/x-www-form-urlencoded; charset=UTF-8' --data 'v=1&t=screenview&tid=UA-XXXXX-X&cid=develop&an=mainapplication&av=2.0.1&cd=login' 

代码的NodeJS

request.post("https://www.google-analytics.com/debug/collect", 

    var options = { 
     url: 'https://api.github.com/repos/request/request', 
     headers: { 
      'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8', 
      'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36', 
      'Origin': 'https://ga-dev-tools.appspot.com', 
      'Referer': 'https://ga-dev-tools.appspot.com/hit-builder/', 
      'Accept': '*/*' 
     }, 
     formData: 'v=1&tid=UA-XXXXX-X&cid=develop&an=mainapplication&av=2.0.1&t=screenview&cd=login' 
    }; 

    request(options, function (error, response, body) { 
     if (!error && response.statusCode == 200) { 
      console.log(body) 
     } 
     else 
     { 
      console.error(error) 
     } 
    }) 

我试图找到一个模块的NodeJS要做到这一点,但我不能找到一个与应用集成(屏幕视图中, ,AV ..)

有人能帮助我吗?

回答

1

您的卷曲请求将会到达https://www.google-analytics.com/collect,并且您的Node.js请求将会到达https://www.google-analytics.com/debug/collect(请注意URL中的debug)。

调试终点仅用于调试错误。它不会将实际点击次数发送给Google Analytics。我怀疑这是你的问题。

+0

我不知道,真的THX。现在它工作。 – Daaru

+0

没问题,顺便说一句,欢迎来到堆栈溢出:)如果答案可以帮助你解决问题,你应该提高它的效率和/或将它标记为已接受。 –

1

我解决我的所有问题,并张贴在GitHub上的代码,如果有人需要它: nwjs-analytics

+0

太好了 - 谢谢你。就是我在找的东西。 – Reece