问题描述
我已经使用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 (将#修改为@)