喜欢我的粉丝页面,然后进入我的Facebook应用程序

时间:2012-06-22 13:05:47

标签: facebook-apps

我是Facebook应用中的新手。 (我的英语不是那么好......) 我正在为Facebook页面(PHP SDK)开发一些小竞赛。 我创建了自己的应用,但我需要publish_stream权限。

我想我对“序列”确实有点问题......让我解释一下我的意思...... 我想要的是,在对应用程序做任何事情之前,人们必须喜欢我的页面。问题是它立即要求权限(意味着它进入应用程序页面,它不再停留在粉丝页面框架中,所以当我确认权限时,按钮就不再存在了)。 Somy app卡在那里......这是我在标题中使用的代码:

$fbconfig['appid' ] = "xxxxxxxxxxxxxxx"; // my app id
$fbconfig['pageid'] = "xxxxxxxxxxxxxxx"; // my fan page id
$fbconfig['secret'] = "xxxxxxxxxxxxxxxxxxxxxxxxxx"; // my secret key

$fbconfig['baseUrl']    =   "https://xxxxxxxxxxxxxxxxxx"; // Base Url
$fbconfig['appBaseUrl'] =   "https://apps.facebook.com/xxxxxxxxxxx/"; // App Base URL

$user            =   null; //facebook user uid
try{
    include_once "fb/facebook.php";
}
catch(Exception $o){
    echo '<pre>';
    print_r($o);
    echo '</pre>';
}
// Create our Application instance.
$facebook = new Facebook(array(
  'appId'  => $fbconfig['appid'],
  'secret' => $fbconfig['secret'],
  'cookie' => true,
));
//Facebook Authentication part
$user       = $facebook->getUser();

$loginUrl   = $facebook->getLoginUrl(
        array(
            'scope'         => 'publish_stream'
        )
);

if ($user) {
  try {
    $user_profile = $facebook->api('/me');
  } catch (FacebookApiException $e) {
      d($e);  // d is a debug function defined at the end of this file
    $user = null;
  }
}

// if user is not fan, redirect to likefirst.php
$user_is_fan = false;
$likes = $facebook->api( '/me/likes?fields=id' );
foreach( $likes['data'] as $page ) {
    if( $page['id'] === $fbconfig['pageid'] ) {
        $user_is_fan = true;
        break;
    }
}
if (!$user_is_fan) {
    header("Location: likefirst.php");
    die();
}

// if user is not logged in
if (!$user) {
    echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";
    exit;
}

我想将权限重定向到likefirst.php之前,但它不起作用。 我希望我所说的有道理! 谢谢你的帮助!

马特