Я создаю событие Календаря Google в чате (1:1, групповой чат и пространство).
Создание события Календаря Google в чате
После создания и публикации мероприятия с приглашенными в чат отправляется автоматическое сообщение.
Автоматическое сообщение о событии
Используя метод space.messages.list, я могу получить ответ на сообщение, содержащий text "Создал событие", но я не могу получить доступ к карточке событий Календаря Google, связанной с сообщением.
Аналогично, когда задача Google создается в пространстве чата, я могу получить текст " Создал задачу», но не сведения о ресурсе задачи.
Создать задачу в Space
Автоматическое сообщение о созданной задаче
Я использовал API чата Google (spaces.messages .list) для получения сведений о событиях/задачах Календаря Google из сообщения в чате, но он возвращает только текстовый ответ без данных карты.
Я просмотрел документацию по API Календаря Google и API задач, но не смог найти никаких ссылок. к автоматически созданному сообщению, объекту карты или любой информации, связанной с Google Chat.
Я хотел бы извлечь сведения из этой карты или получить ресурс «Событие/задача календаря» через Chat API . Как я могу получить информацию о событии календаря или карточку из сообщения в этом сценарии? Существуют ли какие-либо конкретные поля или дополнительные вызовы API, которые мне следует использовать для получения ресурса события/задачи календаря?
Есть ли способ получить iCalUID или идентификатор события календаря Google или идентификатор задачи Google, связанной с этим сообщением? Есть ли какие-либо конкретные поля или вызовы API в API Google Chat, которые могут предоставить эти сведения?"
Спасибо. Если хотите, дайте мне знать нужна дополнительная информация.
Мой код (Java) для размещения сообщения в пространстве:
List SCOPE =
Arrays.asList(
"https://www.googleapis.com/auth/chat.spaces",
"https://www.googleapis.com/auth/chat.messages",
"https://www.googleapis.com/auth/chat.memberships"
);
try (InputStream isCredential = new ByteArrayInputStream(sServiceAccountJson.getBytes())) {
GoogleCredentials googleCredentials =
ServiceAccountCredentials
.fromStream(isCredential)
.createDelegated(sAdminAddress)
.createScoped(SCOPE)
.toBuilder()
.build();
ChatServiceSettings chatServiceSettings =
ChatServiceSettings.newBuilder()
.setCredentialsProvider(FixedCredentialsProvider.create(googleCredentials))
.build();
ListMessagesRequest request = ListMessagesRequest.newBuilder()
.setParent("spaces/{space}")
.build();
for (Message message : chatServiceClient.listMessages(request).iterateAll()) {
System.out.println(JsonFormat.printer().print(message));
}
}
Ответ на сообщение:
{
"name": "spaces/{spaces}/messages/{message}",
"sender": {
"name": "users/{user}",
"type": "HUMAN"
},
"createTime": "2024-09-30T05:29:07.225471Z",
"text": "Created an event",
"thread": {
"name": "spaces/{spaces}/threads/{thread}"
},
"space": {
"name": "spaces/{spaces}"
},
"argumentText": "Created an event",
"formattedText": "Created an event"
}
{
"name": "spaces/{spaces}/messages/{message}",
"sender": {
"name": "users/{user}",
"type": "HUMAN"
},
"createTime": "2024-09-30T05:52:29.173567Z",
"text": "Created a task (via Tasks)",
"thread": {
"name": "spaces/{spaces}/threads/{thread}"
},
"space": {
"name": "spaces/{spaces}"
},
"argumentText": "Created a task (via Tasks)",
"formattedText": "Created a task (via Tasks)"
}
Подробнее здесь: https://stackoverflow.com/questions/790 ... e-task-res
API Google Chat: как получить событие Календаря Google или ресурс задачи Google из Chat space.messages.list? ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение