3

Facebook grap を使用して、公開されている「ページ」からフォト アルバムを取得して写真を表示していましたが、今日は機能しなくなりました (私の PC だけでなく、他の人によっても確認されています)。

graph.facebook.comリンクを作成し、返された json を使用するだけで、トークンも SDK も使用せずにグラフ APIにアクセスしました。

最初は問題が Chrome でのみ発生していると思っていましたが、今はよくわかりません。ユーザー エージェントを偽装しても効果がないことを確認しました。最近、 Facebook.com の Cookie を削除すると問題が解決することがわかりました。

現在、他の人の Cookie を強制的に削除することはできないので、別の修正、または少なくとも説明が欲しい.

グラフ呼び出しは次のようになりますhttps://graph.facebook.com/{{albumID}}

例を次に示します: https://graph.facebook.com/203416696378870

エラーを受け取りました

"error": {
   "message": "An access token is required to request this resource.",
   "type": "OAuthException",
   "code": 104
}

facebook.com Cookie がないと、期待どおりの出力が得られます。

"id": "203416696378870",
"from": {
   "id": "186646504722556",
   "category": "Musician/band",
   ...

Facebook の Cookie を削除する前に

facebook.com クッキー

なぜ Facebook の Cookie が私のコードを突然壊してしまうのか、いまだに理解できません。

Facebook のプラットフォームの更新または Chrome のリリースで、この動作を説明する可能性のある文書化された変更を見つけることができませんでした。

もちろん、私のコードを使用しているすべてのサイトのユーザーから Cookie を強制的に削除することはできません。

誰かがこの問題について追加の洞察を持っていますか?特にfacebook.com CookieでグラフAPI呼び出しを台無しにしているものは何ですか?

これが起こらないようにする方法はありますか?

4

4 に答える 4

1

どのようにデータを取得しようとしているのかわかりませんが、getJSON を使用するとうまくいきます。

<a id="facebook-graph-link">TEST FACEBOOK</a>
<script>
 $(function(){
    $( "#facebook-graph-link" ).on( "click", function(e) {
        e.preventDefault();
        var url = "http://graph.facebook.com/203416696378870";
        $.getJSON( url, function( data ) {
            console.log(data);
        });
    });
 });
 </script>
于 2013-04-19T16:39:51.983 に答える
0

IPアドレスを変更すると、最終的にすべての問題が解決しました。Cookieの削除が必要かどうかはわかりませんが、IPアドレスが変更された直後は、すべてのブラウザーですべて正常に機能しました。

ところで。グラフのリンクを直接呼び出すと、まだ面白い結果が得られます.IEはページが見つからないと言います.サファリの誓い.Firefoxはデータを表示します.現在のすべてのウェブサイトはアルバムを含めて問題ありません.同じアルバムを直接のグラフリンクに使用したいです.

于 2013-04-20T11:31:48.360 に答える