Google AnalyticsAPI - Analytics(分析)属性授权

时间:2016-01-07 17:31:30

标签: javascript google-analytics gapi

我正在使用Google AnalyticsAPI。 我需要知道是否存在一个函数,它返回一个布尔值(或类似的东西),告诉我记录的谷歌帐户是否有权显示图表,但我没有在API中找到任何类似的东西。

所以我尝试做了一些不同的事情,当我使用函数execute()绘制图表时,我试图处理错误,使用回调,如下所述:https://developers.google.com/analytics/devguides/reporting/core/v3/coreDevguide#build-a-core-reporting-api-query 但是我的代码没有调用那个回调。

这是我的代码:

var dataChart = new gapi.analytics.googleCharts.DataChart({
    query: {
      ids: ga_property_id,
      metrics: 'ga:sessions, ga:users',
      dimensions: 'ga:date',
    },
    chart: {
      container: 'chart-container',
      type: 'LINE',
      options: {
        width: '100%',
        fontSize: 14
      }
    }
});

function makeApiCall() {
    dataChart.set({query: dateRange});
    dataChart.execute(handleCoreReportingResults);
}

function handleCoreReportingResults(results) {
    if (!results.error) 
    {
        console.log("success");
    } 
    else 
    {
        console.log("fail");
    }
}

makeApiCall();

我还尝试将execute()放入try / catch但是它没有捕获,我想因为异常来自gapi。

找到一种方法来了解已登录用户是否拥有该属性的权限会更好,但修复此代码并使其有效也将非常好!

提前致谢!

1 个答案:

答案 0 :(得分:0)

您可以调用accounts Summaries API并查找用户有权访问的完整帐户列表。

summary = gapi.client.analytics.management.accountSummaries.list();

然后循环结果以验证属性或视图是否在列表中。

但是你也可以包含一个view selector组件,这样你就只能使用用户可以访问的视图ID。