Linkedin api.linkedin.com/v1/people开始返回400错误

时间:2019-01-25 12:16:43

标签: javascript linkedin linkedin-api linkedin-jsapi

我有一个Web应用程序,使用api.linkedin.com/v1/people/~/shares可以正常工作了很多年。没有代码已更改。

从现在开始,对该API的所有调用均返回400。

请参阅示例:

url: https://api.linkedin.com/v1/people/~/shares?format=json&oauth_token=xxxxx

Request Method: POST

Body:

{  
   "content":{  
      "title":"text title",
      "submitted-url":"http://my-domain-url/resource",
      "submitted-image-url":"http://my-domain-url/image.jpg"
   },
   "comment":"text title",
   "visibility":{  
      "code":"anyone"
   }
}

响应:

Status Code: 400 
Body
{
  "errorCode": 0,
  "message": "Can not parse JSON share document.\nRequest body:\n\nError:\nnull",
  "requestId": "Y9RHPVP9GP",
  "status": 400,
  "timestamp": 1548417237616
}

这是进行呼叫的javascript代码段

IN.API.Raw("/people/~/shares?format=json")
          .method("POST")
          .body(body)
          .result(function (data) {
            $scope.linkedIn.shared = true;
            $scope.linkedIn.url = data.updateUrl;
            $('#successDialog').modal('toggle');
            $scope.addSharesCount(jobDetails.jobId);
          })

          .error(function (error) {
              $scope.error.body = 'error.message;
               $scope.$apply();
               $('#errorDialog').modal('show');
    }

我发现了这个:https://engineering.linkedin.com/blog/2018/12/developer-program-updates

说我们都应该在三月一日之前迁移到新的api。在我看来,这太短了。

/ v1 api中似乎还存在不兼容的更改或错误。

2 个答案:

答案 0 :(得分:0)

400 HTTP错误代码表示“错误请求”(如果您不知道HTTP代码的含义,则可以使用http.cat),因此可能缺少User-Agent,请尝试从真实的浏览器中放入一个,当客户端没有User-Agent / Bot User-Agent时,某些api会拒绝。

您必须将其放在请求标头中。

用户代理示例:

   Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:58.0) Gecko/20100101 Firefox/58.0

祝您编程愉快o /

答案 1 :(得分:0)