我写了一个facebook应用程序,但身份验证无法正常运行。尽管谷歌搜索几个小时它没有解决。 请编写正确验证用户身份的脚本,如果用户单击允许按钮,只需显示文本“欢迎”,假设我已经写了所有基本的后缀。
require 'sdk/src/facebook.php'; $app_id = 'MY APP ID'; $canvas_page = "MY CANVAS URL"; // Create our Application instance (replace this with your appId and secret). $auth_url = "http://www.facebook.com/dialog/oauth?client_id=" . $app_id . "&redirect_uri=" . urlencode($canvas_page) ."&scope=email,read_stream&installed=1"; $facebook = new Facebook(array( 'appId' => $app_id , 'secret' => MY APP SECRET, 'cookie' => true, )); ///... your code to solve !
答案 0 :(得分:5)
没人提供最终的解决方案:最后我自己解决了。
我做的是。当用户允许应用程序时,Facebook会使用url发送“installed=1
”参数。所以我检查了这个参数并重新定向到应用程序。我非常高兴找到非常好用和高效的解决方案。没有人回答我任何可以回答的答案。
if(isset($_REQUEST['installed']))
echo("<script>top.href.location='http://apps.facebook/myapp' </script>");
答案 1 :(得分:0)
您似乎正在混合文档和PHP-SDK中的示例,从PHP-SDK中删除example应该可行。
遵循此answer中的代码:
<?php
require '../src/facebook.php';
$facebook = new Facebook(array(
'appId' => 'XXXXXXX',
'secret' => 'XXXXXXXX',
'cookie' => true,
));
$session = $facebook->getSession();
$loginUrl = $facebook->getLoginUrl();
$me = null;
if ($session) {
try {
$uid = $facebook->getUser();
$me = $facebook->api('/me');
echo "Welcome User: " . $me['name'] . "<br />";
} catch (FacebookApiException $e) {
error_log($e);
}
} else {
echo("<script> top.location.href='" . $loginUrl . "'</script>");
}
?>