Как пометить людей в чате Google с помощью веб-крюка Python?

Я написал веб-крючок, который общается из Bitbucket в Google Chat. Это работает, но я хочу добавить к нему, чтобы он мог помечать людей автоматически в посте, который он делает.

Я знаю, что могу отправить запрос, который выглядит следующим образом, используя что-то вроде Postman:

{
    "text": "<users/userID> Test?",
    "thread": {
        "name": "spaces/spaceID/threads/threadID"
    }
}

И это работает и теги пользователя правильно.

Но когда я пытаюсь отправить сообщение типа карты https://developers.google.com/hangouts/chat/reference/message-formats/cards, отправленное с Python, оно не может пометить кого-либо.

Вот как выглядит фрагмент кода для моего сообщения:

"cards": [
    {
        "header": {
            "title": f"New PR from {author}",
            "subtitle": repo,
            "imageUrl": avatar
        },
        "sections": [
            {
                "widgets": [
                    {
                        "keyValue": {
                            "topLabel": "Reviewers:",
                            "content": "<users/all>",
                            "bottomLabel": "Status: Open"
                        }
                    }
                ]
            }
        ]
    }
]

И код для фактической отправки запроса:

headers = { "Content-Type": "application/json; charset=utf-8" }
http_object = Http()

response = http_object.request(
    uri=google_url,
    method="POST",
    headers=headers,
    body=dumps(message),
)

Запрос отправляется с использованием httplib2,

Что я вижу в выводе, где содержимое должно быть для виджета, все, что я вижу, это ---, когда я ожидаю увидеть тег для всех на канале. Я замечаю в запросе, содержание выглядит "\\u003cusers/all\\u003e", Я не уверен, что эта кодировка нарушает ее или нет, я не смог обойти это.

0 ответов

Другие вопросы по тегам