谷歌聊天频道
这个包给一个代理商一个短信工具和一个输入的Webhook适配器,用于谷歌工作空间聊天. 它使用 Google 聊天API , 并使用 google-auth-library 用于服务账户认证和 webhook 令牌验证.
安装
npm install @framers/agentos-ext-channel-google-chat
同伴依赖 : @framers/agentos >=0.10.40。 。 。 .
使用量
import { AgentOS } from '@framers/agentos';
const agentos = await AgentOS.create({
extensionManifest: {
packs: [
{
package: '@framers/agentos-ext-channel-google-chat',
options: {
serviceAccountJson: process.env.GOOGLECHAT_SERVICE_ACCOUNT
?? process.env.GOOGLE_CHAT_SERVICE_ACCOUNT,
audienceType: process.env.GOOGLE_CHAT_AUDIENCE_TYPE,
audience: process.env.GOOGLE_CHAT_AUDIENCE,
webhookPath: process.env.GOOGLE_CHAT_WEBHOOK_PATH,
},
},
],
},
});
配置
服务账户从选项中解析, 那么 options.secrets,然后是环境变量。 作为字符串提供其JSON内容.
| 选项 | 秘密编号 | 环境变量 | 需求 | 默认 |
|---|---|---|---|---|
serviceAccountJson | googlechat.serviceAccount | GOOGLECHAT_SERVICE_ACCOUNT, (中文(简体) ), GOOGLE_CHAT_SERVICE_ACCOUNT | 对 | 无; 缺失时投掷 |
webhookPath | 无 | GOOGLE_CHAT_WEBHOOK_PATH | 没有 | /google-chat-webhook |
audienceType | 无 | GOOGLE_CHAT_AUDIENCE_TYPE | 是的,对于入境的邮递请求 | null |
audience | 无 | GOOGLE_CHAT_AUDIENCE | 是的,对于入境的邮递请求 | '' |
addOnProjectNumber | 无 | GOOGLE_CHAT_ADDON_PROJECT_NUMBER | 没有 | 取消设置: 不接受添加 |
maxBodyBytes | 无 | 无 | 没有 | 1048576 |
priority | 无 | 无 | 没有 | 50 |
secrets | 无 | 无 | 没有 | 未设置 |
对于 app-url,观众是完整的网页浏览器 URL。 对于 project-number,它是数字 Google Cloud 项目号。 观众类型的分辨率也接受 app_url, (中文(简体) ), app, (中文(简体) ), project_number 财务报告和审定财务报表 project无效或非阳性 maxBodyBytes 值使用默认值.
工具
| 工具 | 它会做什么 |
|---|---|
googleChatChannelSendMessage | 通过Google聊天适配器发送短信. |
googleChatChannelSendMessage
| 参数 | 类型 | 需求 | 说明 |
|---|---|---|---|
conversationId | 字符串 | 对 | 目标空间名称(例如, spaces/AAA...(中文(简体) ) |
text | 字符串 | 对 | 信件文本 |
频道适配器
适配器注册平台 google-chat. 激活标志连接的服务。 发送获得服务账户访问符 https://www.googleapis.com/auth/chat.bot 将第一个文本块张贴到对话空间.
这个 googleChatWebhook HTTP 处理器验证无记名标志、确认接受的JSON有效载荷和发送 MESSAGE 带有非空空间名称和文本的事件。 A 类 DM 空间地图到直接对话; 其他空间类型的地图到分组对话。 它记得输入的信息线索名称,和 replyToMessageId 使用被记住的线程进行适配器回复。 打字指标无用.
页:1
发送创建远程消息 。 缺少服务账户 JSON 或无效的 JSON 创建时失败 。 激活前发送,使用空格名称或文本,或者没有访问令牌失败.
Webhook Get请求返回健康响应. 没有有效的受众类型和受众, POST 请求无法获取 。 失败的符号校验被拒为未经授权 。 其他HTTP方法被否决. 体型过大和无效的JSON被拒绝. 网路获得领先的斜线,失去领先的斜线.
这个 app-url 校验路径需要从 Google Chat 自己的服务账户或项目的工作空间加码服务账户中校验电子邮件 addOnProjectNumber 名称 (service-<number>@gcp-sa-gsuiteaddons.iam.gserviceaccount.com) (中文(简体) ). 无 addOnProjectNumber,拒绝附加请求。 这个 project-number 路径用 Chat 发行者的证书验证已签名的 JWT 。 线程映射有一个有界限的缓存,在关闭时被清除.
释放
新版本发表于 架设层/剂-外延 由 GitHub Actions 通过 npm 信任的出版, 并附有出处声明 .
许可证
阿帕奇 - 2.0