Google Analytics Embed API gapi.analytics.auth.isAuthorized(



我正在尝试在我的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
}

相关内容

  • 没有找到相关文章

最新更新