2016-01-14 25 views
1

我正在試用嵌入式Google Analytics到我的CMS。我想檢查用戶是否被授權,如果他們是,我會顯示一個'註銷'按鈕,以便他們可以註銷,然後使用不同的Google帳戶登錄。 。Google Analytics嵌入API gapi.analytics.auth.isAuthorized()總是返回false

我登出按鈕的工作,但我不希望它顯示,除非用戶在簽署

根據該文檔,這應該工作: gapi.analytics.auth.isAuthorized()

但是,當我將它記錄到控制檯時,它總是返回false。

這裏有更多的我的代碼:

gapi.analytics.ready(function() { 

     /** 
     * Authorize the user immediately if the user has already granted access. 
     * If no access has been created, render an authorize button inside the 
     * element with the ID "embed-api-auth-container". 
     */ 
     gapi.analytics.auth.authorize({ 
      container: 'embed-api-auth-container', 
      clientid: 'XXXXX' 
     }); 

     console.log(gapi.analytics.auth.isAuthorized()); 

請誰能告訴我什麼,我做錯了什麼?

回答

0

我有點晚了答案,但也許會幫助別人。

Google analytics api使用OAuth 2.0進行授權,並且 gapi.analytics.auth.isAuthorized()從您的代碼始終返回false,因爲當前沒有授權的用戶。

您可以伊斯利檢查是否有授權的用戶:

var isAuthorized = gapi.analytics.auth.isAuthorized(); 

if(isAuthorized == true) { 
    // display sign out button 
}else { 
    // display sign in button 
} 

如果你已經有一個訪問令牌,您可以將其授權,而用戶將自動登錄:

gapi.analytics.auth.authorize({ 
    container: 'embed-api-auth-container', 
    clientid: 'XXXXX', 
    serverAuth: { 
     access_token: 'XXXXX' 
    } 
}); 

和運行檢查:

var isAuthorized = gapi.analytics.auth.isAuthorized(); 

if(isAuthorized == true) { 
    // display sign out button 
}else { 
    // display sign in button 
}