这里的目的是使用API检索我的谷歌分析数据并将其显示在网页中。
如果我使用本质上调用此代码的"popup"方法,我可以毫无问题地进行身份验证:
gapi.auth.authorize({client_id: clientId, scope: scopes, immediate: false}, handleAuthResult);
但是,我不想在要查看此页面时单击"允许访问"。特别是当我打算在 CMS 中由多个人查看时。
看到这是我的Google Analytics帐户,并且我已经注册了Web应用程序,是否无法在页面加载时通过javascript进行身份验证而不必向用户显示弹出窗口?
代码检查用户是否授权了您的应用
gapi.auth.authorize({client_id: clientId, scope: scopes, immediate: true}, handleAuthResult);
如果您将immidiate true设置为true,则它不会显示弹出窗口,如果为false,它将向用户显示弹出窗口
在句柄身份验证结果
handleAuthResult = function (authResult) {
var authorizeButton = document.getElementById('authorize-button');
if (authResult && !authResult.error) {
authorizeButton.style.display = 'none';
// do your processing here
} else {
authorizeButton.style.display = 'block';
authorizeButton.onclick = handleAuthClick;
}
}
handleAuthClick = function (event) {
gapi.auth.authorize({
client_id: clientId,
scope: scopes,
immediate: false
}, handleAuthResult);
return false;
}
我认为它会帮助你
听起来您需要使用 OAuth 身份验证。 看看这篇文章。 一旦您授权一次,就不需要后续授权。