我正在使用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。
找到一种方法来了解已登录用户是否拥有该属性的权限会更好,但修复此代码并使其有效也将非常好!
提前致谢!
答案 0 :(得分:0)
您可以调用accounts Summaries API并查找用户有权访问的完整帐户列表。
summary = gapi.client.analytics.management.accountSummaries.list();
然后循环结果以验证属性或视图是否在列表中。
但是你也可以包含一个view selector组件,这样你就只能使用用户可以访问的视图ID。