2012-05-24 77 views
0

我想創建一個類似於此頁面Facebook應用程序的用戶ID獲得旁路OAuth2.0的

https://www.facebook.com/carlorinosg/app_150206515038121

用戶點擊等與網頁檢查一個Facebook應用程序,如果用戶點擊「喜歡」用正確的用戶ID,它將允許用戶訪問下面的內容。

如果我沒有弄錯,所有fb應用程序都要求用戶在用戶可以與應用程序交互之前通過權限頁面。

但是,這個應用程序似乎允許用戶點擊類似的,它通過$ facebook-> getUser()獲取用戶ID。 (如果我沒有弄錯)沒有通過許可頁面 ..

我想知道如何實現這個facebook應用程序相同的設計?

爲什麼UID總是返回null。 ?下面的代碼

  <?php 
      require_once("facebook.php"); 
      $config = array(); 
      $config['appId'] = 'xxx'; 
      $config['secret'] = 'xxxx'; 
      $config['fileUpload'] = false; // optional 

      $facebook = new Facebook($config); 

       $fql = 'SELECT uid FROM user where uid = me()'; 
         $ret_obj = $facebook->api(array(
          'method' => 'fql.query', 
          'query' => $fql, 
           )); 

         var_dump($ret_obj); 
      ?> 
+0

Facebook的政策說,你必須知道基於用戶喜歡的解鎖特性。希望你知道這一點。 –

回答

1

1)如果你需要用戶名或用戶信息或任何類型的數據從Facebook,那麼你需要要求用戶授權的應用程序。

2)如果您不想查看應用程序的用戶是誰,但您想查看用戶是否喜歡您的頁面,那麼您可以使用此代碼並在用戶喜歡該頁面時顯示內容。

<?php 
require 'facebook/src/facebook.php'; 
$facebook = new Facebook(array(
    'appId' => $CONF['FB_APP_ID'], 
    'secret' => $CONF['FB_APP_SECRET'], 
    'cookie' => false, 
)); 

// Get User ID 
$user = $facebook->getUser(); 
$signed_request = $facebook->getSignedRequest(); 
$like_status = $signed_request["page"]["liked"]; 
if($like_status == 1){ 
echo 'You liked the page. so you are able to see this'; 
}else{ echo 'Please like the page to access'; 
} ?> 

3)如果你沒有打擾關於誰是用戶瀏覽的應用程序,你不希望用戶喜歡,送出去的HTML頁面。

相關問題