我有一个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中似乎还存在不兼容的更改或错误。
答案 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)