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');
});

このデータを正常に POST できます。ただし、応答に「Access-Control-Allow-Origin」ヘッダーがないため、ブラウザーは応答の読み取りをブロックします。

アクセス制御許可オリジン

ただし、LinkedIn アプリケーション設定でhttp://localhost:3000https://localhost:3000 」ドメインを指定しました。

LinkedIn アプリケーションの設定

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 に答える