[英]javascript gapi oauth2 causing 401 error
我有客户端javascript代码,需要能够加载gmail API并代表用户发送电子邮件。 我已经在开发人员控制台上创建了oAuth凭据,并启用了gmail API。 我也将localhost和正在使用的端口号添加到控制台中的授权javascript来源。 当我运行gapi.client.init
中, GET
该请求gapi
发送到谷歌URL返回一个401
错误。 为什么会出现此错误? 这是在加载google js API并调用handleClientLoad
尝试加载gmail.send
范围的代码。 控制台中显示401错误。 它不会被异步错误处理程序捕获:
function checkAuth() {
gapi.client.init({
clientId: '<MY CLIENT ID FROM THE DEV CONSOLE>',
scope: 'https://www.googleapis.com/auth/gmail.send'
}).then(function() {
gapi.client.load('gmail', 'v1', function() {});
}, function(err) {
alert("There was an error" + err);
});
}
function handleClientLoad() {
gapi.load('client:auth2', checkAuth);
}
我一切正常,直到我不小心删除了使用开发人员控制台的项目并不得不创建一个新项目。 但是我不知道除了启用gmail API,设置我的原始URL和更新我的客户端ID以匹配新项目外,我还没有做任何其他事情。 以前,我使用的是API密钥,但据我所知,这是多余的,甚至创建/提供新的API密钥时,我都会遇到相同的401错误。
检查我的请求标头后,我发现client_id
不匹配。 原来,我在html模板的另一部分中使用的https://apis.google.com/js/platform.js
调用中仍然有旧的客户端ID,以检查google登录!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.