Gapi 的身份验证弹出窗口立即关闭,并失败并显示 401 错误
gapi’s auth popup closes immediately and fails with a 401 error
我正在为Google日历制作Chrome扩展程序,我需要向Google Cloud Endpoints服务器进行身份验证。为此,我使用 Google APIs Client Library for JavaScript,方法gapi.auth.authorize
:
var SCOPES = [
"https://www.googleapis.com/auth/userinfo.email",
"https://www.googleapis.com/auth/calendar.readonly"
];
function login() {
gapi.client.oauth2.userinfo.get().execute(function(response) {
if (response.code) {
console.log("cannot auth: " + response.code + " (" + response.message + ")");
} else {
console.log("authed " + response.email);
}
});
}
gapi.auth.authorize({
client_id: CLIENT_ID,
scope: SCOPES.join(" "),
immediate: immediate
}, login);
现在,有时它有效,有时它不起作用。 在这种情况下,将出现一个弹出窗口并立即关闭,并且response
对象包含:
{
"code": 401,
"message": "Invalid Credentials",
"data": [
{
"domain": "global",
"reason": "authError",
"message": "Invalid Credentials",
"locationType": "header",
"location": "Authorization"
}
],
"error": {
"code": 401,
"message": "Invalid Credentials",
"data": [
{
"domain": "global",
"reason": "authError",
"message": "Invalid Credentials",
"locationType": "header",
"location": "Authorization"
}
]
}
}
我一生都无法找出错误的来源,或者为什么它只是偶尔发生。请注意,另一个 Web 应用程序使用完全相同的代码(包括客户端 ID(并且运行良好。
gapi.auth.authorize({
client_id: CLIENT_ID,
scope: SCOPES.join(" "),
immediate: true
}, login);
相关文章:
- jquery Ajax没有;不要显示任何信息(既不显示成功也不显示失败)
- SonarQube 预览模式失败,并显示 500 错误
- 在IE中显示iframe中的blob失败
- 我正在用java脚本编写一个hangman程序,如果玩家失败了,我需要帮助来显示这个词
- 检查 http 响应代码以显示相应的失败消息
- 验证码失败显示警报,但表单自动提交如何停止此操作
- 如果使用 JavaScript 登录失败,如何在登录页面中显示消息
- 量角器自定义预期条件失败并显示错误
- 解析云代码部署失败,并显示消息“更新失败,出现内部错误”
- Kanga建模和显示图形失败
- 当返回的查询不为空时,来自 php 的 MS SQL Server 过程失败并显示 500
- 有没有办法阻止失败的HTTP请求在浏览器控制台中显示为错误
- Angular JS自定义验证器失败,并显示“ng-invalid-maxlength”
- ember-cli:moduleFor 失败,并显示“尝试注册未知工厂”错误
- 用于从 GeoServer 检索图层名称的 AJAX 回调失败,并显示断言错误
- 预检请求失败,并显示 window.fetch api
- 对折线进行动画处理失败,并显示经度/经度数组
- JSON.parse 失败,并显示有效的 JSON
- 余烬构建命令失败并显示错误:没有这样的文件或目录,lstat ../ember-cli-test-loader/test
- ng-repeat失败,并显示一个对象数组