REST API を使用して Yammer から単一のスレッドとそのコメントを取得したいと考えています。標準の ajax 呼び出しを使用して json の結果を取得すると、次のエラーが発生します。
XMLHttpRequest cannot load https://www.yammer.com/api/v1/messages/in_group/1072435.json.
No 'Access-Control-Allow- Origin' header is present on the requested resource.
Origin 'http://localhost:52785' is therefore not allowed access.
クロスドメイン呼び出しを許可するには、次のコードを使用して jsonp の結果を使用できます。
$.ajax({
type: 'GET',
url: "https://www.yammer.com/api/v1/messages/in_group/1072435.json",
dataType: "jsonp",
jsonp: false,
success: function(data) {
messages = data.messages;
//do stuff with messages
}
});
ただし、次のエラーが表示されます: Uncaught SyntaxError: Unexpected token :
これは、json の結果の解析時に発生します。jsonp を使用しているため、callFunction({json}) の形式で結果が返されると予想されますが、json を取得しているだけです。しかし、Chrome の [ネットワーク] タブに移動してリクエストを表示すると、リクエスト自体は成功し、正しくグループ化された json の結果を表示できます (メッセージ プロパティを展開して、すべてのメッセージを表示できます)。
データは取得できるようですが、使用できません。このエラーを防ぐ方法はありますか、それとも最初から間違っていますか?