6

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

var xml = "<share><comment>" + content + "</comment><visibility><code>anyone</code></visibility></share>";

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('published to linkedin');
}).error(function() {
   console.log(arguments);
   console.log('failed to publish to linkedin');
});

我可以成功发布此数据。但是,浏览器会阻止读取响应,因为响应没有“Access-Control-Allow-Origin”标头。

访问控制允许来源

但是,我在 LinkedIn 应用程序设置中给出了http://localhost:3000和 ' https://localhost:3000 ' 域。

领英应用程序设置

Chrome 中的请求/响应看起来像这样。

请求响应失败

关于如何能够读取响应而不让浏览器阻止它的任何想法?

Access-Control-Allow-Origin我认为问题是LinkedIn API 响应中缺少标头?

4

1 回答 1

11

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

https://developer-programs.linkedin.com/forum/cors

于 2015-04-08T16:05:38.070 回答