2016-01-07 81 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庫! –

相關問題