请求的身份验证范围不足 javascript
Request had insufficient authentication scopes javascript
我已经有一个查询 google 日历 api 的项目。
我想通过查询 google 邮件 api 来更进一步。
在我的项目中我激活了邮件 API
我在我的 javascript 应用程序中添加了 discoveryDocs
[
"https://www.googleapis.com/discovery/v1/apis/calendar/v3/rest",
"https://www.googleapis.com/discovery/v1/apis/gmail/v1/rest"
]
像这样的范围
"https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/calendar.events https://mail.google.com/"
我的客户端初始化是这样完成的:
initClient(): void {
gapi.client.init({
apiKey: 'ma_api_key',
clientId: 'my_client_id.apps.googleusercontent.com',
discoveryDocs: [
"https://www.googleapis.com/discovery/v1/apis/calendar/v3/rest",
"https://www.googleapis.com/discovery/v1/apis/gmail/v1/rest"
],
scope: 'https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/calendar.events https://mail.google.com/',
}).then(() => {
console.log('ok')
});
}
我仍然可以获取我的日历和活动,但无法使用此代码获取我的标签:
getMails(): void {
console.log(gapi);
gapi.client.gmail.users.labels.list({
'userId': 'me'
}).then(function(response) {
var labels = response.result.labels;
console.log(labels);
});
}
请问我错过了什么?
谢谢
Request had insufficient authentication scopes javascript
意味着与您进行身份验证的用户已授权您的应用程序使用某些范围,但它们不是范围,但您正在尝试使用需要附加范围的方法,然后用户已授权您的应用程序。
此错误通常在您授权您的应用程序一次然后更改范围并再次 运行 时发生,如果您的应用程序仍然具有来自先前授权请求的会话变量或 cookie,那么您的应用程序将 运行 无需请求用户访问并添加其他范围。
您需要撤销 access token 或强制应用程序再次显示同意屏幕
我已经有一个查询 google 日历 api 的项目。
我想通过查询 google 邮件 api 来更进一步。
在我的项目中我激活了邮件 API
[
"https://www.googleapis.com/discovery/v1/apis/calendar/v3/rest",
"https://www.googleapis.com/discovery/v1/apis/gmail/v1/rest"
]
像这样的范围
"https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/calendar.events https://mail.google.com/"
我的客户端初始化是这样完成的:
initClient(): void {
gapi.client.init({
apiKey: 'ma_api_key',
clientId: 'my_client_id.apps.googleusercontent.com',
discoveryDocs: [
"https://www.googleapis.com/discovery/v1/apis/calendar/v3/rest",
"https://www.googleapis.com/discovery/v1/apis/gmail/v1/rest"
],
scope: 'https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/calendar.events https://mail.google.com/',
}).then(() => {
console.log('ok')
});
}
我仍然可以获取我的日历和活动,但无法使用此代码获取我的标签:
getMails(): void {
console.log(gapi);
gapi.client.gmail.users.labels.list({
'userId': 'me'
}).then(function(response) {
var labels = response.result.labels;
console.log(labels);
});
}
请问我错过了什么?
谢谢
Request had insufficient authentication scopes javascript
意味着与您进行身份验证的用户已授权您的应用程序使用某些范围,但它们不是范围,但您正在尝试使用需要附加范围的方法,然后用户已授权您的应用程序。
此错误通常在您授权您的应用程序一次然后更改范围并再次 运行 时发生,如果您的应用程序仍然具有来自先前授权请求的会话变量或 cookie,那么您的应用程序将 运行 无需请求用户访问并添加其他范围。
您需要撤销 access token 或强制应用程序再次显示同意屏幕