3

Web サイトのクライアント側で jQuery を使用して Facebook ウォール フィードを読み込もうとしています。Facebookリクエストに使用しているフィードは次のとおりです。

http://www.facebook.com/feeds/page.php?format=json&id=40796308305

私は次のアプローチを試しました:

1.

$.getJSON('http://www.facebook.com/feeds/page.php?format=json&id=40796308305',function(data){
   console.log(data)

});

エラーを返します:

XMLHttpRequest はhttp://www.facebook.com/feeds/page.php?format=json&id=40796308305を読み込めません。Origin http://xxxx.localは Access-Control-Allow-Origin で許可されていません。

2.

$.ajax({
    url: 'http://www.facebook.com/feeds/page.php',
    type: 'GET',
    dataType: 'json',
    data: {
        id: '40796308305',
        format: 'json'
    },
    success: function(data, textStatus, xhr) {
        console.log(data);
    }
});

同じエラーを返します。

3.

$.ajax({
    url: 'http://www.facebook.com/feeds/page.php',
    type: 'GET',
    dataType: 'json',
    data: {
        id: '40796308305',
        format: 'jsonp'
    },
    success: function(data, textStatus, xhr) {
        console.log(data);
    }

});

戻り値:

キャッチされていない SyntaxError: 予期しないトークン:

そして、フィードを解析しているようです。

配列のようにアクセスできるように、facebook json フィードをロードするにはどうすればよいですか?

4

3 に答える 3

1

クロスドメイン ポリシーの制限により、クライアント側のみでこれを行うことはできません。

そのデータ用に独自のプロキシを作成する必要がある可能性があります (ページ データ用のこのエンドポイントは JSONP をサポートしておらず、callbackパラメーターでは機能しません) 。

于 2012-06-07T09:53:10.393 に答える
0

このスレッドはほぼ 6 か月前のものなので、手遅れではないことを願っています。

function fbInfo(user, id) {
    var jurl = "https://graph.facebook.com/"+user+"&callback=?";
    console.log(jurl);
    $.getJSON(jurl, function(data) {
           //do stuff
});
}

HTML ページで関数を呼び出し、Facebook ページのユーザー名 ("user") を URL 変数 "jurl" に渡します。

$.getJSON メソッドを使用して、自由にデータを操作します。

私は現在、Facebook ページから自分の Web サイトにビジネス情報を取得するために使用しているため、これは間違いなく機能します。

于 2012-11-13T18:50:49.150 に答える
0

クロスドメイン呼び出しであるため、データ型を からjsonに変更しますjsonp

于 2012-06-07T09:50:54.620 に答える