为了鲍勃的爱,有人请帮帮我...

我正在尝试使用Google AnalyticsAPI(Javascript库)来获取一些Google Analytics信息。 我已经注册了我的应用程序并设置了oauth2内容。 我可以很好地返回访问令牌jsut,但是当我尝试发送请求以实际获取Google Analytics(分析)信息时,它将返回403禁止错误。 这是我的代码:

function auth() {
    var config = {
        'client_id': '[my_client_id]',
        'scope': 'https://www.googleapis.com/auth/analytics.readonly'
    };
    gapi.auth.authorize(config, function() {
        var retObj = gapi.auth.getToken();
        makeRequest(retObj.access_token);
    });
}

function makeRequest(accessToken) {
    var restRequest = gapi.client.request({
        'path': '/analytics/v3/data/ga',
        'params': {
            'access_token': accessToken,
            'ids': 'ga:[table_number]',
            'metrics': 'ga:pageviews,ga:uniquePageviews',
            'start-date': '2011-11-01',
            'end-date' : '2011-12-01'               
        }
    });
    restRequest.execute(function(resp) { console.log(resp); });
}

auth()函数通过按钮点击执行,就像我说的那样,获取访问令牌不是问题。 当我执行makeRequest函数时,我得到403错误。 有人对这笔交易有什么线索吗?

感谢任何提前回答的人!

===============>>#1 票数:2

在我的情况下,我得到了403 Forbidden,因为在我的浏览器中,我使用的帐户登录了Google,该帐户未获得我尝试访问的GA个人资料的权限。 在发现该问题之前,我遇到了Aksival发布上述解决方案的tableID问题。

这是我的工作代码供您参考:

<script type="text/javascript">
    //GET THESE HERE https://code.google.com/apis/console/
    var clientId = 'YOURCLIENTIDHERE';
    var apiKey = 'YOURAPIKEYHERE';

    //GET THIS HERE http://code.google.com/apis/analytics/docs/gdata/v3/gdataAuthorization.html
    var scopes = 'https://www.googleapis.com/auth/analytics.readonly';

    //INITIALIZE
    function handleClientLoad() {
        gapi.client.setApiKey(apiKey);
        window.setTimeout(checkAuth,1);
    }

    function checkAuth() {
        gapi.auth.authorize({client_id: clientId, scope: scopes, immediate: true}, handleAuthResult);
    }

    function handleAuthResult(authResult) {
        if (authResult) {
            makeApiCall();
        } else {            
            requestAuth();
        }
    }

    function requestAuth() {
        gapi.auth.authorize({client_id: clientId, scope: scopes, immediate: false}, handleAuthResult);
    }

    function makeApiCall() {
        gapi.client.load('analytics', 'v3', function() {
            var request = gapi.client.analytics.data.ga.get({
                'ids':'ga:YOURTABLEIDHERE', 'start-date':'2012-01-01', 'end-date':'2012-02-01', 'metrics':'ga:visits', 'metrics':'ga:visits', 'start-index':1, 'max-results':1000
            });
            request.execute(function(resp) { console.log(resp.totalsForAllResults); });
        });
    }
</script>
<script src="https://apis.google.com/js/client.js?onload=handleClientLoad"></script>

===============>>#2 票数:1

我遇到过同样的问题。 原来我传错了[table_number]。

您需要查询

accounts/[account-id]/webproperties/[webproperties-id]/profiles

并使用适当属性的“id”字段。 (起初我是从webproperties查询中使用internalWebPropertyId的,这就是失败的原因。)

现在就像一个魅力。

  ask by Josh.Junghans translate from so

未解决问题?本站智能推荐:

2回复

在Google AnalyticsAPI中使用和查询自定义维度

我正在尝试查询我的Google Analytics(通用)以接收按自定义维度排序的指标列表。 7月, Google AnalyticsAPI博客宣布: “开发人员可以使用自定义维度向Google Analytics发送唯一ID,然后使用核心报告API检索这些ID以及其他Googl
1回复

是否可以使用Google AnalyticsAPI为客户的网页浏览量提供统计信息?

假设我运行一个网站,客户愿意为一个显示某些关于它们的酷信息的页面付费。 使用Google Analytics跟踪整个网站。 要为客户提供统计跟踪,是否可以使用AJAX API从Google Analytics中挖掘数据? 在尝试这个之前,我应该注意哪些显示器? 试图阻止编写我
1回复

Google Api-独立对象-JavaScript

我正在开发一个应用程序,它提供有关Google Analytics(分析)实时统计信息的一些功能。 因此,用户必须选择他要从哪个网站(ID)获取这些统计信息。 如果登录,我会得到的是: 因此,现在我想仅使用找到的ID中的名称来创建console.log。 因此,我尝试使用jav
1回复

使用Javascript和API访问Google Analytics(分析)数据时出现问题

我想从Google Analytics(分析)中获取访问我们网站的访问者(用户)数量,最好是使用Javascript。 我已经在Google中设置了一个项目和凭据以与我的雇主的Google Analytics(分析)一起使用,并且能够获取该JavaScript示例,该示例生成一个图表以使其
5回复

运行Google“Hello Analytics”API教程时,如何避免此X-Frame-Options SAMEORIGIN错误?

我一直在尝试运行https://developers.google.com/analytics/solutions/articles/hello-analytics-api教程来启动并运行从Google Analytics以编程方式提取数据。 我已经完全复制了示例文件,但是当我通过Chro
1回复

使用Google Analytics(分析)API的乐趣; 令牌错误

更新:我已经为我的问题添加了一个答案,可以解决我的问题(尽管尚未经过100%的测试)-仍然必须等待令牌刷新发生。 还是很想听听别人的意见。 使用适用于php的Google Analytics(分析)API时遇到问题。 我正在通过构造函数中调用的函数来初始化api(可在此处找到其完整
2回复

Google API授权失败

我正在使用Google API(为了使我入门而遵循Hello Analytics教程),并且在授权方面遇到了麻烦。 该过程正在对我进行身份验证,但是当我尝试从GA调用数据时,收到一条错误消息,我必须先登录才能进行此访问。 授权按钮消失了,所以我无法进行身份验证,并且出现“获取会话”按钮,但会
1回复

加载google analytics在Reactjs中异步嵌入api脚本

首先,我想说我是新手做出反应。 我的目标是构建第三方自定义Google分析仪表板,但是我遇到了一些问题,我在谷歌上找不到合适的答案。 我遵循本教程嵌入API第三方可视化 我显然想在反应中编写演示代码。 在这样做的同时,我已经在第一步遇到了麻烦。 在尝试运行此代码时,我不断收到消
1回复

从Chrome扩展程序中的Google Analytics API获取数据?

我正在尝试开发一个废弃表格的热图仪 而且我想知道是否可以通过chrome扩展名对api进行调用? 本质上,我正在尝试执行此调用以获取数据: 我尝试通过在MVC Web应用程序中安装iFrame来创建我的热量映射器,但是由于尝试跨域发送数据的麻烦,我放弃了。 我想知道是
1回复

适用于subdmomain的Google Analytics(分析)历史记录API

我有个问题。 我需要从Google分析中获取特定子域的访问者历史记录。 通过他们的API。 我在文档中找不到它。 您曾经解决过并解决过吗?