我是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之前,但它不起作用。 我希望我所说的有道理! 谢谢你的帮助!
马特