在两个不同的地方进行测试,得到了两个不同的HTTP响应.LinkedIn

本文关键字:两个 HTTP 响应 LinkedIn 方进行 测试 | 更新日期: 2023-09-27 18:03:18

我有一个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);(这获得用户配置文件pic)这在两个地方都很好!!!!

以下是json的回应:

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

如果有任何帮助,我将不胜感激

在两个不同的地方进行测试,得到了两个不同的HTTP响应.LinkedIn

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