javascript - CORS 阻止 LinkedIn 共享 API

标签 javascript angularjs cors linkedin linkedin-jsapi

我尝试通过 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” header 。

Access-Control-Allow-Origin

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

LinkedIn Application Settings

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

Failing request response

关于如何能够读取响应而不让浏览器阻止它有什么想法吗?

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

最佳答案

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

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

关于javascript - CORS 阻止 LinkedIn 共享 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29512646/

相关文章:

javascript - audio.play() html 标签无法在 chrome 中播放

javascript - 使用 CORS JavaScript src 属性 html5 访问 Icecast 流

json - 如何读取 MediaWiki API JSON 响应

curl - Uber API 不允许来自本地主机的请求

javascript - 更新循环内的变量

angularjs - 当我进行 api 调用时,如何让数据库不附加状态?

angularjs - 如何在 Firebase 简单登录上创建电子邮件验证

javascript - 在 JavaScript 中获取 JSON 对象的最后一个元素

javascript - 使用历史后退按钮检测

javascript - 获取 <a> 标签内的数据