Yahoo profile API通过RestSharp发送JSONP结果
本文关键字:发送 JSONP 结果 RestSharp 通过 profile API Yahoo | 更新日期: 2023-09-27 18:19:03
我面临一个奇怪的问题,当我调用雅虎用户配置文件API使用参数格式与xml值雅虎发送JSONP (JSON覆盖括号(<JSON>);
)结果,但当我发送这个请求,虽然谷歌chrome的邮差插件雅虎API发送xml结果。
API是:
http://social.yahooapis.com/v1/user/{guid}/配置文件
Doc: http://developer.yahoo.com/social/rest_api_guide/extended-profile-resource.html
我的代码 public string RestApiInvoke(string url, TRANSPORT_METHOD method, Dictionary<string, string> data, Dictionary<string, string> headers)
{
var client = new RestClient(url);
RestRequest request;
if (method == TRANSPORT_METHOD.POST)
{
request = new RestRequest(Method.POST);
}
else
{
request = new RestRequest(Method.GET);
}
if (data.IsNotNullOrEmpty())
{
foreach (var item in data)
{
request.AddParameter(item.Key, item.Value);
}
}
if (headers.IsNotNullOrEmpty())
{
foreach (var item in headers)
{
request.AddHeader(item.Key, item.Value);
}
}
IRestResponse response = client.Execute(request);
return response.Content;
}
我得到了答案,设置只是Accept
头text/xml
,实际上RestSharp使用接受像application/json text/html text/xml
这样的东西,所以雅虎选择第一个并发送JSONP结果。我已经用下面的代码手动设置了它。
headers.Add("Accept", "text/xml");