#microsoft-graph-api #microsoft-teams
#microsoft-graph-api #microsoft-teams
Вопрос:
Как я могу отправить локальный файл / изображение в канале Microsoft Teams, используя отправить сообщение Microsoft Graph API?
Я следил за документом https://learn.microsoft.com/en-us/graph/api/resources/chatmessageattachment?view=graph-rest-1.0 прикрепить изображение при создании сообщения для отправки по командному каналу. Я пытаюсь отправить изображение в формате base64. Но я получаю сообщение об ошибке.
{
"error": {
"code": "InternalServerError",
"message": "Failed to process request.",
"innerError": {
"date": "2020-09-25T11:43:02",
"request-id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"client-request-id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
}
}
Комментарии:
1. Вы можете отправлять вложения файлов с помощью graph API. Не могли бы вы проверить этот пример ?
Ответ №1:
Кажется, нет подходящего API для прямой отправки локального файла в виде сообщения.
Creating chatMessage in a channel
просто поддерживает отправку файла, который был в SharePoint. Итак, для отправки локального файла необходимо выполнить два шага: сначала загрузить файл в SharePoint, затем создать ChatMessage.
1. Загрузите файл в SharePoint:
Файл размером менее 4 МБ:
PUT https://graph.microsoft.com/v1.0/drives/{{drive-id}}/items/root:/{{file-name}}:/content
Header:
"Authorization" : "Bearer <access-token>"
Body: binary (select binary option in body in postman)
Upload a file using select file option
file-name: is file name along with extension example: test.txt
Файл размером более 4 МБ:
GET: https://graph.microsoft.com/v1.0/drives/{{drive-id}}/items/root:/{{file-name}}:/createUploadSession
Header:
"Authorization" : "Bearer <access-token>"
Запрос Get вернет URL-адрес загрузки.
PUT <upload url>
Header:
"Authorization" : "Bearer <access-token>"
Body: binary (select binary option in body in postman)
Дополнительные сведения см. Здесь.
2. Создайте ChatMessage:
POST https://graph.microsoft.com/v1.0/teams/{id}/channels/{id}/messages
Content-type: application/json
{
"body": {
"contentType": "html",
"content": "Here's the latest budget. <attachment id="153fa47d-18c9-4179-be08-9879815a9f90"></attachment>"
},
"attachments": [
{
"id": "153fa47d-18c9-4179-be08-9879815a9f90",
"contentType": "reference",
"contentUrl": "https://m365x987948.sharepoint.com/sites/test/Shared Documents/General/test doc.docx",
"name": "Budget.docx"
}
]
}