c# - 将 JSON 数据发布到 Microsoft Graph API Azure Function

标签 c# post outlook microsoft-graph-api azure-functions

我正在尝试使用 Azure 函数通过其 ID 转发 Outlook 电子邮件。

var url = "https://graph.microsoft.com/v1.0/users('<blah>')/messages/" + ID + "/forward";
var content = new StringContent(JsonConvert.SerializeObject(data), Encoding.UTF8, "application/json");
var response = await client.PostAsJsonAsync(url, content);
log.Info(response.Content.ReadAsStringAsync().Result);

我得到的结果是 The value of the parameter 'ToRecipients' is empty. Specify 'ToRecipients' either in the message object or in the action.

我传入的数据变量是 {"message":{"ToRecipients":[{"emailAddress":{"address":"<blah>"}}]}} .

我做错了什么?如何成功发布数据 JSON 对象?我觉得我已经尝试了网上能找到的所有示例,但没有任何运气。

仅供引用, token 已附加到 header ,我只是没有显示该部分。

最佳答案

您似乎对要发送的数据进行了双重序列化。

首先当您手动序列化时

...JsonConvert.SerializeObject(data)...

第二个是当您调用PostAsJsonAsync

client.PostAsJsonAsync(url, content);

它会在发布之前将提供的对象序列化为 JSON。

如果调用PostAsJsonAsync,则无需手动创建内容

//...

var url = "https://graph.microsoft.com/v1.0/users('<blah>')/messages/" + ID + "/forward";
var response = await client.PostAsJsonAsync(url, data);
var result = await response.Content.ReadAsStringAsync();
log.Info(result);

//...

关于c# - 将 JSON 数据发布到 Microsoft Graph API Azure Function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53587456/

相关文章:

vba - 如何按日期对电子邮件进行排序并打开找到的最新电子邮件?

c# - 用 C++ 托管 CLR 运行时

c# - 字符串格式不对

java - 如何发出仅更新提供的字段的 POST 请求?

Django:将请求直接(内联)传递到第二个 View

c# - Microsoft Graph API : HttpStatusCode 200, 内容长度-1?

c# - 如何获取具有给定属性的属性列表?

c# - ServiceStack 如何从代码调用我的服务

c# - 如何在 wpf 应用程序中使用 mshtml

python - O365 EO 可恢复项目文件夹的 REST Api