Pla*_*oom 5 google-api chatbot google-hangouts hangouts-api
我们正在实施一个 Google Hangout 聊天机器人,它将向域中的用户发送主动通知。为此,Google 聊天机器人 API 需要空间 ID 才能向用户发送主动通知。
参考文档:https://developers.google.com/hangouts/chat/reference/rest/v1/spaces/list
代码 :
jwtClient.authorize(function (err) {
if (err) {
console.log(err);
return;
}
else {
chat.spaces.list({
auth: jwtClient
}, function (err, resp) {
if (err)
console.log(err);
else {
chat.spaces.list({
auth: jwtClient
}, function (err, resp) {
if (err)
console.log(err);
else {
var spaceList = resp.data.spaces;
spaceList.forEach(element => {
var spaceUrl = `https://chat.googleapis.com/v1/${element.name}/messages?key=${apiKey}`;
request({
url: spaceUrl,
method: "POST",
headers: {
'Content-Type': 'application/json'
},
json: customMessage
},
function (error, response, body) {
callback(error, body)
}
);
})
};
});
}
});
}
});
}
}
Run Code Online (Sandbox Code Playgroud)
但此 API 仅返回已将机器人添加到其会话中的用户的空间列表。
他们是否有办法为谷歌域中的每个用户获取/创建空间?
不幸的是,如果用户不与机器人交互,就无法提取空间 ID。允许这样做将使机器人能够在未经同意的情况下向任何用户发送垃圾邮件。
我建议将空间 ID 存储到数据库中。因此,一旦用户开始与机器人对话,您就可以随时向他们发送消息。添加机器人或在房间中与其交互是机器人向用户发送消息所需的“同意”。
| 归档时间: |
|
| 查看次数: |
2713 次 |
| 最近记录: |