【问题标题】:Dropbox web service API returns content must be application/jsonDropbox Web 服务 API 返回的内容必须是 application/json
【发布时间】:2015-01-19 13:23:39
【问题描述】:

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

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

我在 HttpClient 类中使用 PostAsJsonAsync 方法。

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

服务响应:

error = "Content-Type 必须是 \"application/json\"。得到 应用程序/json;字符集=utf-8"

【问题讨论】:

  • 这个限制已经放宽了,所以 "application/json; charset=utf-8" 现在应该可以工作了。

标签: c# json dropbox-api


【解决方案1】:

现在,您需要将 Content-Type 标头设置为准确的 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 标头。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-22
    • 1970-01-01
    相关资源
    最近更新 更多