Javascript 谷歌+;API 401无效凭据

Javascript 谷歌+;API 401无效凭据,javascript,google-plus,google-drive-api,google-drive-realtime-api,Javascript,Google Plus,Google Drive Api,Google Drive Realtime Api,我正在尝试使用Google+API通过使用javascript的web应用程序访问Google Drive。我总是收到401无效凭据错误,即使我有一个有效的访问令牌尚未过期(在确认),我还启用了驱动器API,并且没有撤销对该令牌的访问。此外,我已经进行了双重检查,访问令牌肯定会在授权头中发送(我通过浏览器的调试器查看了请求)。根据我的研究,这些是401无效凭证错误的主要原因。但是,我仍然会遇到这些错误,无法找出原因。这是我的文件,我已经删除了客户端id和api密钥 Javascript: var

我正在尝试使用Google+API通过使用javascript的web应用程序访问Google Drive。我总是收到401无效凭据错误,即使我有一个有效的访问令牌尚未过期(在确认),我还启用了驱动器API,并且没有撤销对该令牌的访问。此外,我已经进行了双重检查,访问令牌肯定会在授权头中发送(我通过浏览器的调试器查看了请求)。根据我的研究,这些是401无效凭证错误的主要原因。但是,我仍然会遇到这些错误,无法找出原因。这是我的文件,我已经删除了客户端id和api密钥

Javascript:

var SCOPES = ['https://www.googleapis.com/auth/plus.login','https://www.googleapis.com/auth/drive'];
var CLIENT_ID = 'MY_CLIENT_ID';
var API_KEY = 'MY_API_ID';


function load()
{
  console.log("load");
  gapi.client.setApiKey(API_KEY);
  window.setTimeout(checkAuth,1);

}

function checkAuth() {

    console.log('checkAuth');
    gapi.auth.authorize({client_id: CLIENT_ID, scope: SCOPES, immediate: false}, handleAuthResult);

}

 function handleAuthResult(authResult) {


    gapi.client.setApiKey(API_KEY);

    if (authResult && !authResult.error) 
    {
        makeRequest();
    } 

    else 
    {
            alert('error');
    }
  }

function makeRequest()
{

gapi.client.load('drive','v2',function()
{
    var request = gapi.client.request({
        'path': '/drive/v2/about',
        'method': 'GET',


    });
    debugger;
    request.execute(function(response) 
    {

            debugger;


        });

});
}
我的HTML只包含相关的javascript文件,并从myScript调用load方法

HTML:

我可以查看授权标头是否正确。但是,在我看到的教程中,它们使用:

  var request = gapi.client.drive.about.get({}); 

如果请求在我的浏览器的调试器中看起来不同,并且不一定包含正确的授权标头,我记得一些问题,即同时提供API密钥和访问令牌会导致某些API调用出现问题。由于调用经过身份验证的方法时不需要API密钥,因此如果删除
gapi.client.setApiKey(API_密钥),是否可以尝试使用它调用(代码中有两次调用,但这不重要),以查看这里是否存在这种情况?

我记得一些问题,即同时提供API密钥和访问令牌会导致一些API调用出现问题。由于调用经过身份验证的方法时不需要API密钥,因此如果删除
gapi.client.setApiKey(API_密钥),是否可以尝试使用它调用(你的代码中有两次,但这不重要),看看这里是不是这样?

< p>虽然我确信Scarygami建议的90%个问题将解决你的问题——从CuthAuthTepe中删除StApIKIKE——如果不是问题的根源,考虑一些其他的事情:

  • 客户端ID/客户端机密中的空格
  • 您的授权来源是否与您在

如果你在

中设置断点,虽然我确信Scarygami建议的将解决你的问题——从CuthAuths删除StApIKIKE——如果不是问题的根源,考虑一些其他的事情:

  • 客户端ID/客户端机密中的空格
  • 您的授权来源是否与您在

如果在解决问题的

处设置断点,则不确定为什么设置api键会将其搞糟。这是驱动器api(以及其他几个Google api)中的一个问题。Google+API中有一个相关问题,如果您想启动它以更新该问题:这解决了问题,但不确定为什么设置API键会把它搞砸。这是驱动器API(以及其他几个Google API)中的一个问题。Google+API中有一个相关问题,如果您想启动它以更新该问题:
var request = gapi.client.request({
        'path': '/drive/v2/about',
        'method': 'GET',


    });
  var request = gapi.client.drive.about.get({});