CORS阻止了LinkedIn分享API。

19 浏览
0 Comments

CORS阻止了LinkedIn分享API。

我尝试通过AngularJS应用程序中的JavaScript使用LinkedIn分享API发布新内容,如下所示。

var xml = "" + content + "anyone";

var req = {

method: 'POST',

url: 'https://api.linkedin.com/v1/people/~/shares?oauth2_access_token=' + account.token,

headers: {

'Content-Type': 'text/plain'

},

data: xml

};

$http(req).success(function(data) {

console.log(data);

console.log('已发布到LinkedIn');

}).error(function() {

console.log(arguments);

console.log('无法发布到LinkedIn');

});

我可以成功地进行POST请求。然而,浏览器阻止读取响应,因为响应没有"Access-Control-Allow-Origin"头。

但是,我已经在LinkedIn应用程序设置中提供了"http://localhost:3000"和"https://localhost:3000"域。

在Chrome中,请求/响应如下所示。

对于如何能够读取响应并防止浏览器阻止它,有何看法?

我认为问题在于LinkedIn API响应中缺少"Access-Control-Allow-Origin"头。

0
0 Comments

LinkedIn的REST API似乎不支持CORS。他们建议从后端使用REST API而不是从浏览器使用。必须在浏览器中使用JS-SDK。

问题的原因:LinkedIn的REST API不支持CORS。

解决方法:使用JS-SDK从浏览器中调用LinkedIn的REST API。

具体解决方法可以参考LinkedIn的开发者论坛中的讨论:https://developer-programs.linkedin.com/forum/cors

0