【发布时间】: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