用于Google Analytics API的jQuery AJAX头验证

jQuery AJAX Header Authentication for Google Analytics API

本文关键字:AJAX 验证 jQuery Google Analytics API 用于      更新时间:2023-11-21

我正在构建一个仪表板,它将从GA中提取数据。要做到这一点,我需要通过Google帐户获得一个访问令牌,然后我需要用包含此已验证令牌的头查询GA。

这是我的代码:

$.ajax({
    async: false,
    url: "https://www.google.com/accounts/ClientLogin?accountType=GOOGLE&Email=EMAIL&Passwd=PASSWORD&service=analytics",
    success : function(data) {
        var auth = data.substring(data.indexOf("Auth=") + 5);
        console.log(auth);
        $.ajax({
            type: 'get',
            headers: {
                "Content-type": "application/x-www-form-urlencoded",
                "Authorization": "GoogleLogin Auth=" + auth,
                "GData-Version": "2",
            },
            url: "https://www.google.com/analytics/feeds/data?ids=ga:PROFILE&start-date=2011-08-16&end-date=2012-06-16&max-results=10000",
       });
    }
});

不幸的是,这种方法不起作用。如果有人能给我一些建议,告诉我如何实现这一点,或者如何更好地验证此类请求,我将不胜感激。

它不起作用,因为ClientLogin需要post请求而不是get。它也遭到了抨击。

您似乎还违反了ajax请求的同源策略。

使用带有刷新令牌的OAuth 2版本。您可以使用站点上的一个客户端库,并将ajax请求发布到自己的页面。