关键词:
【中文标题】错误:调用者在节点中没有谷歌聊天机器人的权限【英文标题】:Error: The caller does not have permission for google chat bot in node 【发布时间】:2021-01-24 05:13:50 【问题描述】:尝试向 Google 聊天室发送消息时,我不断收到错误消息“呼叫者没有权限”。我已将机器人添加到房间,并且可以列出房间(请参阅 console.log),因此我知道我的凭据已加载且有效。此外,我尝试发送到的房间位于我的 console.log 中返回的房间列表中。不知道是什么问题。
import Auth, chat_v1 from "googleapis";
const postMessage = async (message: string) =>
const roomId = '<myroom>';
let jwtClient = new Auth.GoogleAuth(
keyFile: './googlekeys.json',
scopes: ['https://www.googleapis.com/auth/chat.bot']
);
const chat = new chat_v1.Chat( auth: jwtClient );
const rooms = await chat.spaces.list();
rooms.data.spaces?.map((s) =>
console.log(s);
);
await chat.spaces.messages.create(
parent: `spaces/$roomId`,
requestBody:
text: message,
);
我的 googlekeys.json 文件格式:
"type": "service_account",
"project_id": "<project_id>",
"private_key_id": "<private_key_id>",
"private_key": "-----BEGIN PRIVATE KEY-----\<key>\n-----END PRIVATE KEY-----\n",
"client_email": "<client_email>",
"client_id": "<client_id>",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/starting-account-<account>"
【问题讨论】:
几个问题,以便进一步调查:您的googlekeys.json
看起来如何(经过清理的版本,没有令牌)?在使用 async/await 时,我强烈建议您使用 try-catch 块。
@JoseVasquez 我已更新问题以包含我的 googlekey.json 文件。同意 try-catch,就是尝试捕捉整个函数,但最好将其移入其中。
您能否确认您的 bot configuration > Bot 状态未禁用?
@JoseVasquez 设置为“实时 - 可供用户使用”
这可以由this configuration 给出为了确保这不是您的错误原因,您能否检查您的 admin console > 应用程序 > G Suite > 设置Google Chat 和传统版 Hangouts > Chat Bots 是否关闭了允许用户安装聊天机器人选项?
【参考方案1】:
我有同样的问题。我有一个机器人无法发布到的房间。这个房间里有我和另一个人。当我将另一个人从房间里移走时,机器人就开始工作了。
我们都是 Google 群组 it@ourdomain.com 的成员。在环聊聊天 API 配置页面 (https://console.cloud.google.com/apis/api/chat.googleapis.com/hangouts-chat) 的权限部分中,我已将“您域中的特定人员和组”设置为:
me@ourdomain.com, it@ourdomain.com
我对此进行了更改以将组成员资格扩展到个人成员:
me@ourdomain.com,f@ourdomain.com,a@ourdomain.com,j@ourdomain.com
这解决了它。我猜 Google 不会在此设置中扩展群组,即使它说您可以进入群组。
【讨论】:
调用 GMAIL API 时出现间歇性错误 - “调用者没有权限”
】调用GMAILAPI时出现间歇性错误-“调用者没有权限”【英文标题】:intermittenterrorwhilecallingGMAILAPI-"Thecallerdoesnothavepermission"【发布时间】:2020-10-2407:56:58【问题描述】:间歇性出现此错误请求https://www.googleapis.com/discovery/v1/... 查看详情
错误: (gcloud.beta.functions.deploy) ... message=[调用者没有权限]
】错误:(gcloud.beta.functions.deploy)...message=[调用者没有权限]【英文标题】:ERROR:(gcloud.beta.functions.deploy)...message=[Thecallerdoesnothavepermission]【发布时间】:2019-01-2422:12:59【问题描述】:我正在尝试从这个repo部署代码:https://github.com/anis... 查看详情
“调用者没有权限”尝试使用 Firebase Admin SDK 创建自定义令牌
...irebaseAdminSDK【发布时间】:2020-12-0217:42:22【问题描述】:错误调用admin.auth().createCustomToken()时出现以下错误:Error:Thecallerd 查看详情
代码:403 消息:调用者没有权限
】代码:403消息:调用者没有权限【英文标题】:Code:403Message:Thecallerdoesnothavepermission【发布时间】:2017-09-2511:59:51【问题描述】:我正在使用GoogleClas-s-roomAPI将我的业务系统集成到GoogleClas-s-room。我可以使用服务帐户创建和列出... 查看详情
带有redis的节点js没有返回给调用者
】带有redis的节点js没有返回给调用者【英文标题】:Nodejswithredisnotreturningtocaller【发布时间】:2016-12-1307:17:42【问题描述】:我是Node世界的新手,但有一些回调和Promises的信息。所以只需编写一个小代码来从Redis获取数据并将其... 查看详情
为啥循环摘要在 gprof 的调用图输出中没有任何调用者?
】为啥循环摘要在gprof的调用图输出中没有任何调用者?【英文标题】:Whydon\'tcyclesummarieshaveanycallersingprof\'scall-graphoutput?为什么循环摘要在gprof的调用图输出中没有任何调用者?【发布时间】:2009-05-0806:01:14【问题描述】:我使... 查看详情
机器人回答后删除调用者消息
】机器人回答后删除调用者消息【英文标题】:Deleteinvocatormessageafterbot\'sanswer【发布时间】:2019-11-1909:27:35【问题描述】:我最近开始创建一个不和谐的机器人来玩,我试图删除调用者消息,但徒劳无功。我搜索“提示”并找到... 查看详情
使用服务器密钥时,Google Sheets API 返回“调用者没有权限”
】使用服务器密钥时,GoogleSheetsAPI返回“调用者没有权限”【英文标题】:GoogleSheetsAPIreturns"Thecallerdoesnothavepermission"whenusingserverkey【发布时间】:2016-12-2107:38:50【问题描述】:我在APIManager中生成了一个服务器密钥,并尝... 查看详情
Firebase - 应用分发无法获取应用信息:[403] 调用者没有权限 [重复]
】Firebase-应用分发无法获取应用信息:[403]调用者没有权限[重复]【英文标题】:Firebase-AppDistributionfailedtofetchappinformation:[403]Thecallerdoesnothavepermission[duplicate]【发布时间】:2020-10-0417:29:14【问题描述】:我正在使用gradle开发FirebaseA... 查看详情
使用 SQLyog 导出 MySQL 所有数据库会产生调用者/定义者权限错误
】使用SQLyog导出MySQL所有数据库会产生调用者/定义者权限错误【英文标题】:ExportMySQLalldatabaseswithSQLyogproducesinvoker/definerrightserror【发布时间】:2016-04-1519:15:25【问题描述】:我们有一个使用SQLyog导出所有数据库(包括mysql)的作... 查看详情
如何从 Google OAuth 2.0 Playground 运行 Google App Script 功能 |调用者没有权限
】如何从GoogleOAuth2.0Playground运行GoogleAppScript功能|调用者没有权限【英文标题】:HowtorunGoogleAppScriptfunctionfromGoogleOAuth2.0Playground|Thecallerdoesnothavepermission【发布时间】:2019-03-3107:21:12【问题描述】:我创建了一个新脚本,用于在我... 查看详情
无法从 Terraform 创建 App Engine 应用程序:调用者没有权限,被禁止
】无法从Terraform创建AppEngine应用程序:调用者没有权限,被禁止【英文标题】:UnabletocreateAppEngineAppfromTerraform:Thecallerdoesnothavepermission,forbidden【发布时间】:2022-01-1511:05:19【问题描述】:我有以下Terraform:data"google_client_config""curr... 查看详情
C# 中有没有办法在不使调用者也异步的情况下调用异步方法? [复制]
】C#中有没有办法在不使调用者也异步的情况下调用异步方法?[复制]【英文标题】:IsthereawayinC#tomakeacalltoanasyncmethodwithoutmakingthecalleralsoasync?[duplicate]【发布时间】:2016-11-2300:03:49【问题描述】:为了更清楚,我引用了一个以前... 查看详情
调用者如何从子 goroutine 的恐慌中恢复
】调用者如何从子goroutine的恐慌中恢复【英文标题】:Howdoesacallerfunctiontorecoverfromchildgoroutine\'spanics【发布时间】:2018-05-2805:57:24【问题描述】:我曾经认为如果调用者在恐慌之前完成,goroutine中的恐慌会杀死程序(延迟恢复没... 查看详情
模拟调用者阻止连接到数据库(不是明显的权限问题)
】模拟调用者阻止连接到数据库(不是明显的权限问题)【英文标题】:Impersonatingcallerpreventsconnectiontodatabase(notanobviouspermissionsissue)【发布时间】:2012-09-2711:59:00【问题描述】:我有一个托管在IIS中的Web服务,该服务在一个域帐... 查看详情
hsf原理细述
...列表的获取。伴随着web容器的启动,服务提供者和服务调用者向地址服务器获取配置服务器和Diamond服务器的ip列表信息,过程见上图的1、2步骤。(2).服务的注册发布。服务提供者获取配置服务器列表后,将服务的相关信息(接... 查看详情
注销错误 Cloud Firestore。调用者无权执行指定操作
】注销错误CloudFirestore。调用者无权执行指定操作【英文标题】:SignouterrorCloudFirestore.Thecallerdoesnothavepermissiontoexecutethespecifiedoperation【发布时间】:2021-03-0310:48:35【问题描述】:我有一个Flutter应用程序,我已成功登录用户并且没... 查看详情
在查找“aiohttp.web”的模块规范时发出 azure 测试聊天机器人“错误(ModuleNotFoundError:没有名为“aiohttp”的模块)
】在查找“aiohttp.web”的模块规范时发出azure测试聊天机器人“错误(ModuleNotFoundError:没有名为“aiohttp”的模块)【英文标题】:Issueazuretestchatbot"Errorwhilefindingmodulespecificationfor\'aiohttp.web\'(ModuleNotFoundError:Nomodulenamed\'aiohttp\')... 查看详情