我没有对Chrome扩展程序中的Google Sheets集成进行任何代码更改(仅在我们公司内部使用(。今天,我收到"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 但时间框架与我所看到的不符。
我遇到了同样的问题,解决方法是手动设置 OAuth2 令牌:
gapi.auth.setToken({access_token: oauthToken});
对于上下文,这是我后台的身份验证和初始化流程.js:
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});
});
});
}