gpt4 book ai didi

node.js - 如何在 Node js 中使用 Google Hangout 聊天 spaces.message.get 获取消息

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

我为 node js web 应用程序集成了 Google Hangout 聊天。

我能够获取空间,空间中的成员,但我无法获取空间的消息。我还从以下链接中引用了文档

https://developers.google.com/hangouts/chat/reference/rest/v1/spaces.messages/get 

这里还有发现文档:

https://chat.googleapis.com/$discovery/rest?version=v1

根据发现文档,它需要 {messageId} 作为参数,但我不确定在哪里可以找到/获取 messageId

请在下面找到我的代码:

module.exports.getMessage = async function (req, res) {
try {
let jwtClient = new google.auth.JWT(
configAuth.hangout.client_email,
null,
configAuth.hangout.private_key, ['https://www.googleapis.com/auth/chat.bot']);
const chat = google.chat({ version: 'v1', auth: jwtClient });
chat.spaces.messages.get({
name: `spaces/${req.query.spaceId}`, // here I also tried to add "/messages" but it gives 404
})
.then(result => {
return res.json({ success: true, error: false, result: result.data });
})
.catch(err => {
return res.json({ success: false, error: true, result: err });

});
} catch (error) {
return res.json({ success: false, error: true, message: error });
}
}

请给我一个获取消息的解决方案。提前致谢。

最佳答案

问题:

我认为您应该只能检索通过 API 创建的消息(机器人应该只能处理自己创建的消息)。

在这种情况下,如果消息是通过 spaces.messages.create 创建的,要提供的 name 在对引用调用的响应中检索(字段 name)。实际上,该方法返回了所有的消息资源,但是name字段可以在以后使用到update。或 delete消息。在任何情况下,您都应该存储您创建的每条消息的名称,以便稍后检索它。

获取消息名称的其他方法:

除此之外,还有获取 messageId 的方法,但它们需要访问 UI,这可能不适用于您的情况:

  • 单击放大镜,搜索您的消息并获取其 URL,如说明 here .

  • 单击转发到收件箱,这将发送一封包含此消息的电子邮件,然后在电子邮件中单击打开消息,这将打开一个新选项卡带有消息 URL ()。

检索到的 URL (chat.google.com/{space_type}/{space_id}/{message_id}) 可用于获取消息名称:spaces/{space_id}/messages/{message_id},但可能不是适合您情况的可行解决方案。

引用:

关于node.js - 如何在 Node js 中使用 Google Hangout 聊天 spaces.message.get 获取消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55024481/

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