在两个不同的地方进行测试会给我两个不同的HTTP响应。 LinkedIn

时间:2014-05-14 19:16:45

标签: c# json linkedin

我有一个GET请求。

在C#中进行一次预制,如此

      public void MssGetPictureURL(string ssPublicLinkedinURL, out string ssPictureURL, string ssAccessToken){

        try{
            using (var client = new WebClient()){
                var responseString = client.DownloadString("https://api.linkedin.com/v1/people/url=http%3A%2F%2Fwww.linkedin.com%2Fin%2Fsomeperson:(picture-url)?format=json&oauth2_access_token=" + ssAccessToken);
                var ResponceArray = responseString.Split('"', '{', '}', ',');
                ssPictureURL = responseString;
            }
        }
        catch (Exception e){
            ssPictureURL = e.ToString();
        }

    }
apigee.com中的

我正在执行相同的GET

https://api.linkedin.com/v1/people/url=http%3A%2F%2Fwww.linkedin.com%2Fin%2Fsomeperson:(picture-url)?format=json&oauth2_access_token= + whatever the token they have

这对我来说没有意义,为什么他们会给我不同的回答。 apigee给出了正确的json响应,我的代码中的GET请求给了我一个400 ....更糟糕的是,当我改为:

https://api.linkedin.com/v1/people/~:(picture-url)?format=json&oauth2_access_token=" + ssAccessToken);(这可以获得用户个人资料图片)这两个地方都可以正常工作!!!!

这是json回复:

 {
  "errorCode": 0,
  "message": "Unknown field {} in resource {Person}",
  "requestId": "HRR4WP2Y4E",
  "status": 400,
  "timestamp": 1400099795729
   }    

非常感谢任何有关做什么的帮助

1 个答案:

答案 0 :(得分:1)

可能是检测UA标头或类似物并且行为不同的。尝试将请求发送到您自己控制的URL并检查请求标头...我先查看用户代理标头。