【问题标题】:CORS blocks LinkedIn share APICORS 阻止 LinkedIn 共享 API
【发布时间】:2015-06-13 07:01:42
【问题描述】:

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

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 中的请求/响应如下所示。

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

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

【问题讨论】:

  • 你应该看看 JS SDK,developer.linkedin.com/docs/js-sdk
  • @ritesh: “是的,你必须设置标头” - 他不能为他无法控制的服务设置标头。
  • @CBroe 我正在使用 developer.linkedin.com/docs/rest-api 记录的其余 api。不是 JS SDK。
  • 是的,我明白了。但是,JS SDK 是专门提供的,以便更轻松地从 JavaScript 中使用他们的 API……
  • @CBroe 我尝试使用 JS SDK。但我得到了400 Bad Request。回到 REST API,为什么 LinkedIn 不发送 Access-Control-Allow-Origin 标头?我错过了什么吗?

标签: javascript angularjs cors linkedin linkedin-jsapi


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-08
    • 2019-03-23
    • 1970-01-01
    • 2017-09-17
    • 2020-08-16
    • 2021-01-27
    • 2014-07-08
    相关资源
    最近更新 更多