gpt4 book ai didi

oauth-2.0 - 错误 400 : invalid_scope "https://www.googleapis.com/auth/chat.bot"

转载 作者:行者123 更新时间:2023-12-02 03:03:43 25 4
gpt4 key购买 nike

新的 Google Hangouts 聊天文档显示,您需要授权范围 https://www.googleapis.com/auth/chat.bot做几乎任何事情。

错误如下:

enter image description here

使用 OAuth2 client 生成身份验证 URL 时我收到消息说范围无效。如果我使用 https://www.googleapis.com/auth/chat 就没有这个问题或其他一些范围,例如 google plus 的范围.

当我尝试在 API Explorer 中搜索内容时URL 或 URL 部分的组合也不起作用。

这是我获取 URL 的代码,似乎对其他所有内容都工作得很好:

var {google} = require('googleapis');
var OAuth2 = google.auth.OAuth2;

var oauth2Client = new OAuth2(
"clientid-idididid.apps.googleusercontent.com",
"_secretsuff",
"http://localhost:3000/auth/google/callback"
);

var scopes = [
"https://www.googleapis.com/auth/chat", //Works
"https://www.googleapis.com/auth/chat.bot" // Does not work
];

var url = oauth2Client.generateAuthUrl({
access_type: 'offline',
scope: scopes,
});

console.log(url);

最佳答案

如果其他人遇到这个问题,我想我已经解决了。 Google 似乎不需要域用户启用此身份验证范围,因为在测试机器人时它已经在域上获得了授权。这些范围的“授权”由域中从空间添加/删除机器人的用户决定。

如果您感到困惑,我会详细介绍。

Cloud console image

当您在控制台中为组织创建机器人时 https://console.cloud.google.com/apis/api/chat.googleapis.com/您的机器人已添加到域中,并且可以由用户添加到空间中。如果然后转到凭据并创建一个服务帐户,您可以使用该 json 文件凭据作为您的机器人访问 API。下面的代码获取空间中人员的列表。

var { google } = require('googleapis');
var chat = google.chat("v1");

var key = require('./google_service-account-credentials.json');

var jwtClient = new google.auth.JWT(
key.client_email,
null,
key.private_key,
['https://www.googleapis.com/auth/chat.bot'], // an array of auth scopes
null
);

jwtClient.authorize(function (err, tokens) {
chat.spaces.members.list({
auth: jwtClient,
parent: "spaces/AAAAD4xtKcE"
}, function (err, resp) {
console.log(resp.data);
});
});

如果您尝试获取其他空间(和其他域)上的成员列表,机器人将失败并显示完全相同的错误消息:

“机器人不是该空间的成员。”

我假设,如果您在市场上列出您的机器人,并将其添加到不同的域和空间,Google 的 API 将确保您的机器人可以在逐个空间的基础上执行其尝试执行的操作。在添加机器人来完成其工作后,必须设置一些身份验证流程会很烦人。这也可能是当前 REST API 不允许您在域下列出空格的原因,这不是此 API 工作的范例。

关于oauth-2.0 - 错误 400 : invalid_scope "https://www.googleapis.com/auth/chat.bot",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49353286/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com