我正在尝试在我的CMS中嵌入Google Analytics。我想检查用户是否已获得授权,如果是,我会显示“退出”按钮,以便他们可以退出,然后使用其他Google帐户登录。
我有退出按钮工作,但除非用户已登录,否则我不希望它显示。
根据文档,这应该工作: 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 :(得分: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
}