繁体   English   中英

如果用户没有请求访问令牌,是否喜欢Facebook页面,请单击

[英]ckeck if user like Facebook page or not without request Access Token

 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页面,而不需要任何访问令牌或许可,这可能吗?

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

是的,我可以通过以下代码通过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是否正确,因为有关此问题的大多数问题

祝好运 :)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM