【问题标题】:Facebook canvas application - php Auth issuesFacebook 画布应用程序 - php 身份验证问题
【发布时间】:2010-06-08 11:02:33
【问题描述】:

我正在使用 php 和 FBML 开发 facebook canvas 应用程序,但在为应用程序设置授权时遇到了问题。我基本上不知道该怎么做,或者最好的方法是什么。

我大部分时间都在互联网上搜索,但要么偶然发现旧的 API 东西,要么我不知道如何实现他们所解释的内容。

这是我所拥有的:

$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;
}

但这没有任何作用,如果我尝试更改标题而不是使用脚本块,我会得到:

网址...无效

这一切都错了吗?

提前感谢您的帮助。

安迪

【问题讨论】:

  • 请输入完整的错误信息。是否有一行(例如 28 左右)让您/我们更容易看到您的错误几乎在哪里?

标签: php authentication facebook canvas


【解决方案1】:

我的常见包含有以下用于身份验证:

$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) 块之外的内容。

【讨论】:

  • 嘿马丁,我在 $fbme = $facebook->api('/me');我正在使用最新的 php-sdk。
  • 你遇到了什么异常?
猜你喜欢
  • 2013-06-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多