我正在尝试在我的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());
请有人告诉我我做错了什么吗?
我回答有点晚了,但也许会帮助某人。
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
}