【发布时间】:2014-03-29 04:51:06
【问题描述】:
我在https://apps.facebook.com/inboxcupid/ 有一个 Facebook 应用程序
当尝试从移动设备登录时,GetUser 方法总是返回 0。 它实际上创建了一个重定向循环,因为页面不断重定向到登录,返回到应用程序页面,然后返回登录。
必须知道此代码在桌面上运行良好,但在移动设备上失败。
这是我的代码:
require_once ('facebook.php');
$config = array(
'appId' => '*****',
'secret' => '*****'
);
// Create the Facebook object
$facebook = new Facebook($config);
$login_params = array(
'canvas' => 1,
'scope' => 'basic_info, user_about_me, user_birthday, user_relationships, user_relationship_details, user_location, user_photos',
'fbconnect' => 1,
);
$user = $facebook->getUser();
if($user) {
try {
$permissions = $facebook->api("/me/permissions");
if( !array_key_exists('basic_info', $permissions['data'][0]) || !array_key_exists('user_location', $permissions['data'][0]) || !array_key_exists('user_about_me', $permissions['data'][0]) || !array_key_exists('user_birthday', $permissions['data'][0]) || !array_key_exists('user_relationships', $permissions['data'][0]) || !array_key_exists('user_relationship_details', $permissions['data'][0]) || !array_key_exists('user_photos', $permissions['data'][0]) ) {
$login_url = $facebook->getLoginUrl($login_params);
echo "<script" . " type='text/javascript'" . ">top.location.href = '$login_url';</script>";
}
} catch(FacebookApiException $e) {
$login_url = $facebook->getLoginUrl($login_params);
echo "<script" . " type='text/javascript'" . ">top.location.href = '$login_url';</script>";
error_log($e->getType());
error_log($e->getMessage());
}
} else {
$login_url = $facebook->getLoginUrl($login_params);
echo "<script" . " type='text/javascript'" . ">top.location.href = '$login_url';</script>";
}
如果有人能帮我弄清楚,我将不胜感激。
【问题讨论】:
-
没有人能帮我解决这个问题吗?有人知道我可以问这个问题的其他来源吗?
标签: php facebook facebook-graph-api mobile facebook-php-sdk