Dropbox 网络服务 API returns 内容必须 application/json

Dropbox web service API returns content must be application/json

我正在尝试从 Dropbox 收集一些数据,但发现该服务正在返回一条消息,指出请求的格式不正确。

我可以使用不需要 JSON 的调用从服务中成功检索数据,但是当我尝试进行包含 JSON 的调用时,服务回复它的格式不正确。

我在 HttpClient class 中使用 PostAsJsonAsync 方法。

response = await client.PostAsJsonAsync("/1/team/members/list", "{ \"limit\" : 100 }");
json = System.Web.Helpers.Json.Decode(await response.Content.ReadAsStringAsync());

服务响应:

error = "Content-Type must be \"application/json\". Got application/json; charset=utf-8"

现在,您需要将 Content-Type header 设置为 application/json。我想我们将来可以放宽限制,所以 application/json; charset=utf-8 也可以。

Microsoft 论坛上有一个类似的问题(但没有有用的答案):http://forums.asp.net/t/1982431.aspx?How+to+remove+charset+utf8+from+Content+Type+header+generated+by+HttpClient+PostAsJsonAsync+。我建议只使用一种不同的方法,它允许您明确设置 Content-Type header。