我没有对我在Chrome扩展程序中的Google表格集成进行任何代码更改(仅在我们公司内部使用)。今天,我收到“403”错误消息“请求缺少有效的API密钥。”
我没有使用API密钥而且从来没有 - 只是一个客户端ID。这种情况多年来一直很好,直到今天或昨天。
我的范围是https://www.googleapis.com/auth/spreadsheets和https://www.googleapis.com/auth/userinfo.profile。
有什么想法?这里有什么变化,我不知道吗?我确实看到了这一点:https://github.com/zquestz/omniauth-google-oauth2/issues/106但是时间框架并没有与我所看到的一致。
答案 0 :(得分:1)
我遇到了同样的问题,修复方法是手动设置OAuth2令牌:
gapi.auth.setToken({access_token: oauthToken});
对于上下文,这是我的background.js中的auth和初始化流程:
var oauthToken;
chrome.identity.getAuthToken(
{
'interactive': true,
'scopes': <scopes>,
},
function(token) {
oauthToken = token;
// load Google client APIs
window.gapi_onload = authGapi;
var request = new XMLHttpRequest();
request.onreadystatechange = function() {
if ((request.readyState !== 4) || (request.status !== 200)) {
return;
}
eval(request.responseText);
};
request.open('GET', 'https://apis.google.com/js/client.js');
request.send();
}
);
var authGapi = function() {
gapi.auth.authorize({
immediate: true,
client_id: <clientId>,
scope: <scopes>,
},
function(response) {
gapi.client.init({
discoveryDocs: [
'https://sheets.googleapis.com/$discovery/rest?version=v4',
]
}).then(function() {
gapi.auth.setToken({access_token: oauthToken});
});
});
}