Как получить сообщение с помощью чата Google Hangout spaces.message.get в узле js
У меня есть встроенный чат Google Hangout для веб-приложения узла js.
Я могу получить пробелы, члены в пространствах, но я не могу получить сообщения пространства. Я также сослался на документацию по ссылке ниже
https://developers.google.com/hangouts/chat/reference/rest/v1/spaces.messages/get
Также вот документ открытия:
https://chat.googleapis.com/$discovery/rest?version=v1
Согласно документу об обнаружении, в качестве параметра требуется {messageId}, но я не уверен, где я могу find/get 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 });
}
}
Пожалуйста, дайте мне решение для получения сообщений. Заранее спасибо.
0 ответов
Проблема:
Я думаю, что вы должны иметь возможность получать только сообщения, созданные через API (предполагается, что боты обрабатывают только сообщения, созданные ими самими).
В этом случае, если сообщение было создано через space.messages.create,name
to provide извлекается в ответ на указанный вызов (поле name
). Фактически, этот метод возвращает весь ресурс сообщения, ноname
поле можно использовать позже для обновления или удаления сообщения. В любом случае следует хранитьname
каждого создаваемого вами сообщения, если вы хотите получить его позже.
Другие способы получения имени сообщения:
Помимо этого, есть способы получить messageId
, но они требуют посещения пользовательского интерфейса, что делает его, вероятно, неработоспособным в вашей ситуации:
Щелкните увеличительное стекло, найдите свое сообщение и получите его URL-адрес, как описано здесь.
Нажмите на
Forward to inbox
, который отправит электронное письмо с этим сообщением, и в электронном письме нажмитеOpen message
, который откроет новую вкладку с URL-адресом сообщения ().
Полученный URL (chat.google.com/{space_type}/{space_id}/{message_id}
) можно использовать для получения имени сообщения: spaces/{space_id}/messages/{message_id}
, но, вероятно, не являются подходящим решением для вашей ситуации.