-1

このメッセージをお送りするのは、コンテスト アプリケーションの subscribe の edge.remove 関数に少し問題があるためです。

私のアプリケーションでは、ボタンの好き嫌いを聞いてデータベースに保存し、コンテストのランキングを設定したいと考えています。しかし、私は嫌いな機能に問題があり、それは私のランキングを歪めています.画像が好きなときは機能しますが、前の好きなボタンが嫌いなときは、「エラー」と呼ばれるリンクを返します(赤で)魔女リンク次のエラーに:

「ページのいいね! でエラーが発生しました。あなたがページの所有者である場合は、Facebook devsite ( https://developers.facebook.com/tools/lint/ ) のリンターを使用してページを実行し、エラーを修正してください。」 .

Firebug では、Facebook は URL POST http://www.facebook.com/ajax/connect/external_node_connect.php?__a=1呼び出しによって次のコードを返します。

for (;;);{"__ar":1,"payload":{"requires_login":false,"success":false,"already_connected":false,"is_admin":false,"show_error":true,"error_info ": {"brief":"エラーが発生しました。","full":"ページのいいね! でエラーが発生しました。ページの所有者である場合は、Facebook devsite (https:/ /developers.facebook.com/tools/lint/) エラーを修正します。", "errorUri":"/connect/connect_to_node_error.php?title=An+error+occurred.&body=There+was+an+error+likeing +the+page.+If+you+are+the+page+owner\u00252C+please+try+running+your+page+through+the+linter+on+the+Facebook+devsite+\u002528https\u00253A\u00252F\ u00252Fdevelopers.facebook。com\u00252Ftools\u00252Flint\u00252F\u002529+and+fixing+any+errors.&hash=AQBOwKwXHdofUaSJ"}}}

私のコードは次のとおりです。

    window.fbAsyncInit = function() {

    FB.init({
            appId  : '<?= APP_ID; ?>',
            status : true, 
            cookie : true, 
            xfbml  : true  
           }); 

           FB.Canvas.setAutoResize();

           FB.Event.subscribe('edge.create',
                function(href, widget) {
                    alert(href);
                    //$('a').bind('click',false);
                    //liketoggle(href);
                }
            );

            FB.Event.subscribe('edge.remove',
                function(href, widget) {
                    alert('href');
                    //$('a').bind('click',false);
                    //liketoggle(href);
                }
            );

        };

        (function(d, s, id) {
        var js, fjs = d.getElementsByTagName(s)[0];
        if (d.getElementById(id)) return;
            js = d.createElement(s); js.id = id;
            js.src = "//connect.facebook.net/fr_FR/all.js#xfbml=1&appId=<?= APP_ID; ?>";
            fjs.parentNode.insertBefore(js, fjs);
        }(document, 'script', 'facebook-jssdk'));
4

1 に答える 1

0

その関数に渡すパラメーターが多すぎませんか? 存在するのは 1 つだけです。

以下は私のために働きます:

FB.Event.subscribe('edge.remove',
    function(response) {
        alert('You unliked the URL: ' + response);
    }
);

そして、ここにドキュメントがあります:

http://developers.facebook.com/docs/reference/javascript/FB.Event.subscribe

于 2012-05-10T14:21:52.857 に答える