Microsoft Graph API团队使用jpeg图像失败的ChatMessageAttachment

问题描述

我已经使用Micorosoft.Graph.GraphServiceClient(版本3.14)成功将消息发布到了Teams频道。但是,我想包含一个图像附件(通过ChatMessageAttachment)。根据文档,为了做到这一点,我应该将ChatMessageAttachment.ContentType设置为“ image / jpeg”,并将ContentUrl设置为图像文件的base64字符串表示形式。这是我的代码:

var chatMessage = new ChatMessage
{
    Subject = subject,Body = new ItemBody
    {
        ContentType = BodyType.Html,Content = message // Including <attachment id="<imageId>"></attachment> 
    }        
};

chatMessage.Attachments = new List<ChatMessageAttachment>
{
    new ChatMessageAttachment
    {
        Id = imageId,ContentType = "image/jpeg",ContentUrl = base64String,Name = "HunnySuckle.jpg"
    }
};    

var res = await graphClient.Teams[teamId].Channels[channelId].Messages
    .Request()
    .AddAsync(chatMessage);

但是,当我发布请求时,响应是以下主体:500

{
  "error": {
    "code": "InternalServerError","message": "Failed to process request.","innerError": {
      "date": "2020-09-18T20:39:46","request-id": "44143c44-1c48-4a90-9bb5-20a3ba1b9905","client-request-id": "44143c44-1c48-4a90-9bb5-20a3ba1b9905"
    }
  }
}

这是文档(https://docs.microsoft.com/en-us/graph/api/resources/chatmessageattachment?view=graph-rest-1.0)的摘录

contentType。 。 image /:图像类型与图像类型 指定为ex:image / png,image / jpeg,image / gif。填充 contentUrl字段,其文件的base64编码为data:格式。

但是我不确定“数据:格式” 的含义-也许这可能是导致其不起作用的关键。

我在网上搜索发现的唯一与此错误有关的参考是在此页面上:https://github.com/microsoftgraph/microsoft-graph-docs/issues/7211,这与我认为的问题相同(但遗憾的是没有答案)。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)