2016-01-07 84 views
0

我使用的是Google AnalyticsAPI。 我需要知道是否存在一个函数返回一个布尔值(或类似的东西)告诉我,如果记录的谷歌帐户有权显示图表,但我没有在API中找到任何类似的东西。所以我试图做一些不同的事情,当我用函数execute()绘制图表时,我尝试着使用回调来解决这个错误,如下所示:https://developers.google.com/analytics/devguides/reporting/core/v3/coreDevguide#build-a-core-reporting-api-query 但我的代码没有调用该回调函数。Google AnalyticsAPI - Google Analytics媒体资源授权

这里是我的代码:

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(); 

我想也把执行()到一个try/catch但它的作品没有赶上,我猜是因为除了来自GAPI。

寻找一种方法来知道登录的用户是否拥有该属性的权利会更好,但它会很好也修复此代码并使其工作!

在此先感谢!

回答

0

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

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

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

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

+0

查看选择器很棒,但客户需要看到类似“您无权查看图表”的消息>。< 当我使用accountSummaries.list()函数时,尽管发生了401错误我登录了!奇怪,因为我可以看到图表,但oauth令牌丢失。如果我使用getToken()auth函数,我得到空.... –

+0

401响应得到什么错误信息?你使用的是什么范围? – Matt

+0

错误是误导,关于我的登录细节,但我解决了导入我认为我已经导入的client.js库! –

相关问题