Информация карты файла Microsoft Teams Bot повреждена при отправке информации файла на канал - PullRequest
0 голосов
/ 27 января 2019

Я использую Microsoft Bot Framework для отправки файловой карты на канал или пользователя, но, похоже, файловая карта имеет неправильный формат ... Невозможно нажать на файловую карту или открыть файл ...

enter image description here

Как я генерирую карту:

FileInfoCard card = new FileInfoCard()
    {
        FileType = "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
        UniqueId = driveItemUniqueId,
    };

    Attachment att = card.ToAttachment();
    att.ContentUrl = fileLocation;
    att.Name = fileName;


    replyToConversation.Attachments.Add(att);
    return replyToConversation;

И код json, который будет отправлен командам, следующий:

[{
"contentType": "application/vnd.microsoft.teams.card.file.info",
"contentUrl": "https://fileLocation.com/xyz",
"content": {
    "uniqueId": "jfölasjflasjföiu289u9o2or2jor2l1ö1l3jrlö12j4l",
    "fileType": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
    "etag": null
},
"name": "Meeting Minutes - testmeeting 2 fso - 26-1-2019.docx",
"thumbnailUrl": null

}]

Ресурс Microsoft по этой теме: https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/bots/bots-files

со следующим примером:

    {
  "attachments": [{
    "contentType": "application/vnd.microsoft.teams.card.file.info",
    "contentUrl": "https://contoso.sharepoint.com/personal/johnadams_contoso_com/Documents/Applications/file_example.txt",
    "name": "file_example.txt",
    "content": {
      "uniqueId": "1150D938-8870-4044-9F2C-5BBDEBA70C8C",
      "fileType": "txt",
    }
  }]
}

РЕДАКТИРОВАТЬ: Дополнительная информация. Я не уверен, что уникальный идентификатор правильный. Файл слова загружен на сайт SharePoint. Этот UniqueId не похож на уникальный GUID в примере ... в приложении Team iOS я могу щелкнуть ссылку, но появится сообщение о невозможности доступа к этому файлу.

РЕДАКТИРОВАТЬ: уникальный идентификатор исправлен, но проблема все еще возникает на клиенте MS Teams Desktop Я заменил уникальный идентификатор на GUID в Ctag из файла, который я получаю из Graph API. В приложении iOs оно работает сейчас, но на настольном клиенте все еще остается красный треугольник.

Кнопка на Iphone: enter image description here

1 Ответ

0 голосов
/ 29 января 2019

Пожалуйста, установите вместо FileType docx , как указано ниже:

        FileInfoCard card = new FileInfoCard()
        {
            FileType = "docx",
            UniqueId = Guid.NewGuid().ToString() // unique id.
        };

        Attachment att = card.ToAttachment();
        att.ContentUrl = contentUrl;
        att.Name = name;
...