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

是的,我可能在没有用户请求和许可的情况下通过 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 回答
0

如果我对您的理解正确,我认为这是不可能的……最终,您总是需要用户授权您的应用程序并获取身份验证令牌才能知道用户的 ID。未经用户许可,FB 不会让你知道用户的 uid

于 2013-10-19T21:23:33.523 回答