[英]Facebook canvas application - php Auth issues
我正在用php和FBML开发Facebook画布应用程序,并且在为应用程序设置授权时遇到问题。 我基本上不知道该怎么做,或者最好的方法是什么。
我整天大部分时间都在互联网上搜索,但要么对旧的API问题感到迷tum,要么不知道如何实现它们所解释的内容。
这是我所拥有的:
$facebook = new Facebook(array(
'appId' => '*snip*',
'secret' => '*snip*',
'cookie' => true,));
$session = $facebook->getSession();
$fbme = null;
if ($session) {
try {
$uid = $facebook->getUser();
$fbme = $facebook->api('/me');
} catch (FacebookApiException $e) {
d($e);
}
}
if (!$fbme) {
$loginUrl = $facebook->getLoginUrl(array(
'canvas' => 1,
'fbconnect' => 0,
'req_perms' => "publish_stream,user_birthday,friends_birthday,user_events,user_hometown,friends_hometown,user_location,friends_location,offline_access,"
));;
}
if (isset($loginUrl)) {
echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";
exit;
}
但这无济于事,如果我尝试更改标题而不是使用脚本块,则会得到:
网址...无效
我要这一切都错了吗?
在此先感谢您的帮助。
安迪
我的共同包括以下内容进行身份验证:
$facebook = new Facebook(array(
'appId' => $ini['appid'],
'secret' => $ini['appsecret'],
'cookie' => true,
));
$session = $facebook->getSession();
$fbme = null;
if ($session) {
try {
$fbme = $facebook->api('/me');
}
catch (FacebookApiException $e) {
error_log($e);
}
}
// new login check
if (!$fbme) {
$loginUrl = $facebook->getLoginUrl(array(
'canvas' => 1,
'fbconnect' => 0,
'req_perms' => 'email',
'next' => FB_APP_URL,
'cancel_url' => FB_APP_URL,
));
echo '<fb:redirect url="' . $loginUrl . '" />';
}
这基本上显示了一条消息,提示您使用添加应用程序或离开; 如果它们已经通过身份验证,则继续处理if (!$fbme)
块之间的内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.