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;
        }

Yahoo profile API通过RestSharp发送JSONP结果

我得到了答案,设置只是Accepttext/xml,实际上RestSharp使用接受像application/json text/html text/xml这样的东西,所以雅虎选择第一个并发送JSONP结果。我已经用下面的代码手动设置了它。

headers.Add("Accept", "text/xml");