CORS 阻止 LinkedIn 分享 API
CORS blocks LinkedIn share API
我尝试 post 使用 LinkedIn 分享 API 到 JavaScript 的新内容 AngularJS 应用程序,如下所示。
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');
});
我可以成功POST这个数据。但是,浏览器阻止读取响应,因为响应没有 'Access-Control-Allow-Origin' header.
但是,我已经在 LinkedIn 应用程序设置中提供了 http://localhost:3000
和“https://localhost:3000”域。
Chrome 中的 request/response 看起来像这样。
关于如何能够读取响应而不让浏览器阻止它的任何想法?
我认为问题是 LinkedIn API 回复中缺少 Access-Control-Allow-Origin
header?
看起来 LinkedIn 的 REST API 不支持 CORS。他们建议从后端而不是浏览器使用 REST API。 JS-SDK 必须从浏览器使用。
我尝试 post 使用 LinkedIn 分享 API 到 JavaScript 的新内容 AngularJS 应用程序,如下所示。
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');
});
我可以成功POST这个数据。但是,浏览器阻止读取响应,因为响应没有 'Access-Control-Allow-Origin' header.
但是,我已经在 LinkedIn 应用程序设置中提供了 http://localhost:3000
和“https://localhost:3000”域。
Chrome 中的 request/response 看起来像这样。
关于如何能够读取响应而不让浏览器阻止它的任何想法?
我认为问题是 LinkedIn API 回复中缺少 Access-Control-Allow-Origin
header?
看起来 LinkedIn 的 REST API 不支持 CORS。他们建议从后端而不是浏览器使用 REST API。 JS-SDK 必须从浏览器使用。