Facebook应用授权
问题描述:
我已经createn一个应用程序,这个程序可以发现hereFacebook应用授权
一切工作应该是除了当有人使用首次应用fromt。它产生的对话框,允许用户看到我已请求何种类型或许可使用本 -
$url = $facebook->getLoginUrl(array(
'canvas' => 1,
'req_perms' => 'publish_stream, email, offline_access',
'fbconnect' => 0
));
一旦用户点击确定他们然后重定向到我的应用程序坐在网址,而不是重定向到URL在Facebook内的应用程序。
其他的代码,我有一个与该应用程序的工作原理 -
include_once("includes/src/facebook.php");
include_once("includes/src/facebook_config.php");
$facebook = new Facebook(array(
'appId' => FACEBOOK_APP_ID,
'secret' => FACEBOOK_SECRET_KEY,
'cookie' => false,
'domain' => 'syncro-it.co.uk'
));
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : '<?=FACEBOOK_APP_ID?>',
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
FB.Canvas.setSize();
};
(function() {
var e = document.createElement('script');
e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
e.async = true;
document.getElementById('fb-root').appendChild(e);
}());
</script>
有没有人碰到这之前?如果是的话,我错过了一些愚蠢的东西?
答
的设置试试这个:
<?
// Remember to copy files from the SDK's src/ directory to a
// directory in your application on the server, such as php-sdk/
require_once('facebook.php');
$config = array(
'appId' => '2XXXXXXXXXXXX36',
'secret' => 'XXXXXXXXXXXXXXXX43d18d86f157d',
'fileUpload' => true,
);
$facebook = new Facebook($config);
$user_id = $facebook->getUser();
if($user_id) {
try {
$user_profile = $facebook->api('/me','GET');
echo $user_profile['birthday'];
//----------------------------------
//PUSH UR CODE HERE
//----------------------------------
}
catch(FacebookApiException $e)
{
$login_url = $facebook->getLoginUrl(array(
'scope' => 'user_birthday'
));
echo "<script type='text/javascript'>top.location.href = '$login_url';</script>";
exit;
}
}
else
{
$login_url = $facebook->getLoginUrl(array(
'scope' => 'user_birthday'
));
echo "<script type='text/javascript'>top.location.href = '$login_url'; </script>";
exit;
}
?>
答
这是简单地改回旧的权限对话框,应用