param app_id的长度必须小于或等于32

时间:2015-09-11 19:46:18

标签: php facebook facebook-graph-api facebook-php-sdk facebook-oauth

我正在使用PHP SDK编写Facebook登录集成并遇到上述错误。

在我们的主页上,我们有以下代码来请求public_profileemail

$fb = new Facebook\Facebook([
  'app_id' => '{our_app_id}',
  'app_secret' => '{our_app_secret}',
  'default_graph_version' => 'v2.4']);

$helper = $fb->getRedirectLoginHelper();
$permissions = ['public_profile', 'email'];
$loginUrl = $helper->getLoginUrl('http://oursiteurl/includes/fbcallback.php/', 
  $permissions);

此代码弹出一个新窗口,处理Facebook登录,授权应用程序权限,然后将我们发送回fbcallback.php。用户可以拒绝向我们的应用透露他们的电子邮件,但我们的应用绝对必须是电子邮件。所以fbcallback.php评估我们是否收到了电子邮件。如果是的话,我们在数据库中输入一条新记录;如果没有,我希望它提供重新请求电子邮件权限的选项。为此,我正在尝试以下方法:

$fb = new Facebook\Facebook([
    'app_id' => '{our_app_id}',
    'app_secret' => '{our_app_secret}',
    'default_graph_version' => 'v2.4']);

$helper = $fb->getRedirectLoginHelper();
$permissions = ['public_profile', 'email'];
$accessToken = $helper->getAccessToken();
$redirect = "http://media.pvplive.com/includes/fbcallback.php/";
$loginUrl = $helper->getLoginUrl($redirect, $permissions, TRUE);

基本上,我正在循环回fbcallback.php,但这次将rerequest标记设置为TRUE。我第一次收到fbcallback.php登陆时没有收到任何投诉,但是当我点击新$loginUrl的链接时,它会抛出以下错误:

Length of param app_id must be less than or equal to 32

我还没有找到任何解释这个错误的答案,或者需要纠正什么才能摆脱它。我正在使用here提供的答案来获取使用PHP SDK重新请求已拒绝的权限的代码。

0 个答案:

没有答案