1
 window.fbAsyncInit = function() {
        FB.init({
          appId      : '********', // App ID
          channelUrl : document.location.protocol + '//connect.facebook.net/en_US/all.js', // Channel File
          status     : true, // check login status
          cookie     : true, // enable cookies to allow the server to access the session
          xfbml      : true  // parse XFBML
        });


 var fql_query = "SELECT uid FROM page_fan WHERE page_id = "+page_id+"and uid="+user_id;
            FB.Data.query(fql_query).wait(function(rows) {
              if (rows.length == 1 && rows[0].uid == user_id) {
                console.log("LIKE");
                $('#container_like').show();
              } else {
                console.log("NO LIKEY");
                $('#container_notlike').show();
              }             }

Facebookページのようなユーザーを確認する必要があるか、リクエストなしでアクセストークンまたは許可を確認する必要がありますか???

4

2 に答える 2

0

私があなたを正しく理解していれば、それは可能だとは思いません...最終的には、ユーザーのIDを知るために、ユーザーがアプリを承認し、認証トークンを取得する必要があります。FB はユーザーの許可なしにユーザーの uid を知らせません

于 2013-10-19T21:23:33.523 に答える
0

はい、ユーザーからのリクエストと許可なしに、次のコードを使用してphpでそれを実行した可能性があります

        require 'src/facebook.php';
// Create our Application instance (replace this with your appId and secret).
        $facebook = new Facebook( array(
            'appId' => '***************',
            'secret' => '**********************',
            'cookie' => true,
                ) );
        $signed_request = $facebook->getSignedRequest();
// Return you the Page like status
        $like_status = $signed_request[ "page" ][ "liked" ];

        if ( $like_status ) {?>
            <div class="facebook-data-content" id="facebook-data-content"> </div>

        <?php } else {
            ?>
            <div class="like-gate" id="like-gate"> </div>
        <?php } ?>

JavaScriptでも同じことができます注:この問題に関するほとんどの問題のため、何かを行う前に最初にリダイレクトURLが正しいことを確認する必要があります

幸運を :)

于 2013-10-21T08:15:40.847 に答える