NW.js / NodeJS Google Analytics integration

NW.js / NodeJS Google Analytics integration

本文关键字:Analytics integration Google NodeJS js NW      更新时间:2023-09-26

我试图在具有analytics Measurement Protocol的node-webkit应用程序中实现google analytics API,我设法通过ga-dev-tools.appspot.com实现了这一点,但我无法将其用于简单的javascript请求。我想问题出在头参数"Origin"(在node-webkit应用程序中是"file://"),因此我尝试使用node的http请求,但我得到了相同的结果:谷歌在谷歌分析面板中使用"hitParsingResult": [ {"valid": true,...响应?看不到事件,在这种情况下,也看不到页面视图。

奇怪的是,如果我在ga-dev-tools.appspot.com(复制为cURL),我在linux终端中执行它,它可以工作,但不能处理nodejshttp请求。

详细信息:cURL调用

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模块来做这件事,但我找不到一个与应用程序集成的模块(screenview,an,av..)

有人能帮我吗?

您的curl请求将转到https://www.google-analytics.com/collect,Node.js请求将转到https://www.google-analytics.com/debug/collect(请注意URL中的debug)。

调试终结点仅用于调试错误。它不会向谷歌分析发送实际点击量。我怀疑这是你的问题。

我解决了所有问题,并在github上发布了代码,如果有人需要的话:nwjs分析