簡體   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