2012-05-24 51 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页面。

相关问题