1

我编写了一个 facebook 应用程序,但身份验证无法正常工作。尽管谷歌搜索了几个小时,但它并没有解决。请编写正确验证用户身份的脚本,如果用户单击允许按钮,只需显示文本“欢迎”,假设我已经编写了所有基本的 suff aas ..

需要'sdk/src/facebook.php';
 $app_id = '我的应用程序 ID';
 $canvas_page = "我的画布 URL";

// 创建我们的应用程序实例(将其替换为您的 appId 和密码)。
   $auth_url = "http://www.facebook.com/dialog/oauth?client_id="
            . $app_id 。“&redirect_uri=”。urlencode($canvas_page) ."&scope=email,read_stream&installed=1";
  $facebook = 新的 Facebook(数组(
  'appId' => $app_id ,
  '秘密' => 我的应用程序秘密,
  'cookie' => 真,
));
///...您要解决的代码!
4

2 回答 2

5

没有人提供最终的解决方案:最后我自己解决了。我所做的是。installed=1当用户允许应用程序时,Facebook 会发送一个带有 url 的 " " 参数。所以我检查了这个参数并再次重定向到应用程序。我非常高兴找到非常好的和有效的解决方案。没有人回答我任何可投票的答案。

if(isset($_REQUEST['installed']))
  echo("<script>top.href.location='http://apps.facebook/myapp' </script>");
于 2011-02-28T07:38:15.473 回答
0

似乎您正在混合文档和 PHP-SDK 中的示例,从 PHP-SDK 中删除示例应该可以工作。

按照此答案中的代码:

<?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>");
}
?>
于 2011-02-26T20:36:45.027 回答