Javascript Google People API gapi.client.People.People.connections.list返回请求的身份验证作用域不足

Javascript Google People API gapi.client.People.People.connections.list返回请求的身份验证作用域不足,javascript,google-api,google-oauth,google-people,Javascript,Google Api,Google Oauth,Google People,Google People API gapi.client.People.People.connections.list返回错误403,错误消息请求的身份验证作用域不足,即使初始化包含所需的作用域 gapi.client.init({ apiKey: '***masked***', discoveryDocs: ["https://people.googleapis.com/$discovery/rest?version=v1"],

Google People API gapi.client.People.People.connections.list返回错误403,错误消息请求的身份验证作用域不足,即使初始化包含所需的作用域

   gapi.client.init({
            apiKey: '***masked***',
            discoveryDocs: ["https://people.googleapis.com/$discovery/rest?version=v1"],
            clientId: "***masked***.apps.googleusercontent.com",
            'scope': "https://www.googleapis.com/auth/contacts.readonly"
        });
请求看起来像这样

api.client.people.people.connections.list({
        'resourceName': 'people/me',
        'personFields': 'names,emailAddresses'
    }).then(function (response) {
        console.log(response.result.emailAddresses[0].value);
        if (importGmailCallback) {
            importGmailCallback(response);
        }
    }, function (reason) {
        console.log('Error: ' + reason.result.error.message);
    });
等待登录更改发生在此处

Promise.resolve(window.gapi.auth2.getAuthInstance().signIn()).then(function () {
        // Listen for sign-in state changes.
        gapi.auth2.getAuthInstance().isSignedIn.listen(googlePeopleSignedInCallback);
        // Handle the initial sign-in state.
        googlePeopleSignedInCallback(gapi.auth2.getAuthInstance().isSignedIn.get());
    }, function (error) {
        console.log(error);
    });

我在API资源管理器中成功地使用了类似的值,尝试删除访问并重新验证,删除了所有cookie,但运气不佳

尝试删除作用域中的倒逗号

替换:

“范围”:“


作用域:“

同时尝试添加此作用域:

在发出请求之前,是否确保等待init()响应(这是一个承诺)?示例:Yes,Promise.resolve(window.gapi.auth2.getAuthInstance().signIn())。然后(function(){//侦听登录状态更改。gapi.auth2.getAuthInstance().isSignedIn.Listen(GooglePeopleSignedCallback);//处理初始登录状态。GooglePeopleSignedCallback(gapi.auth2.getAuthInstance().isSignedIn.get());},函数(错误){console.log(error);});您的应用程序在登录时要求什么权限?我是指在“同意”屏幕上,提示用户允许访问各种google服务。通常,此屏幕在您登录后出现。不幸的是,这不起作用,看起来我必须使用旧的APIWhatever来漂浮您的船;)虽然这在理论上可以回答这个问题,但在这里包括答案的基本部分,并提供链接供参考。不起作用,我希望你能提供一些你尝试过或知道的东西