首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Google People API Returning‘该请求缺少有效的API密钥。’

Google People API Returning‘该请求缺少有效的API密钥。’
EN

Stack Overflow用户
提问于 2018-01-26 02:49:30
回答 1查看 2.2K关注 0票数 0

我没有对我的Chrome扩展中的Google Sheets集成做任何代码更改(仅在我们公司内部使用)。今天,我收到一个'403‘错误,消息是“该请求缺少一个有效的API密钥”。

我没有使用API密钥,也从未使用过--只有一个客户端ID。这几年来一直很棒,直到今天或昨天。

我的作用域是https://www.googleapis.com/auth/spreadsheetshttps://www.googleapis.com/auth/userinfo.profile

有什么想法吗?是不是有什么我没注意到的变化?我确实看到了这个:https://github.com/zquestz/omniauth-google-oauth2/issues/106,但时间框架与我所看到的并不一致。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-30 08:35:17

我遇到了同样的问题,修复方法是手动设置OAuth2标记:

代码语言:javascript
复制
gapi.auth.setToken({access_token: oauthToken});

对于上下文,下面是我的background.js中的身份验证和初始化流程:

代码语言:javascript
复制
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});
      });
  });
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48449911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档