У меня возникли проблемы с Facebook SDK на мобильных устройствах, я надеюсь, что кто-то здесь может пролить свет на меня.Проблемы с Facebook PHP SDK на мобильных устройствах
У меня есть js sdk, делающий FB.getLoginStatus, и если response.status == 'connected'
, тогда откройте всплывающее iframe. Всплывающее iframe использует PHP sdk для выполнения $facebook->getUser()
, который возвращается 0 каждый раз, даже после перенаправления на $facebook->getLoginUrl()
. Что удивительно в этом, так это то, что при перенаправлении на PHP $loginUrl
нет диалогового окна входа в систему, он просто возвращается к переданному redirect_uri, но $facebook->getUser()
по-прежнему 0, и когда я пытаюсь выполнить $facebook->api('/me')
и поймаю исключение, он говорит Актив токен доступа должен использоваться для запроса информации о текущем пользователе.
Я пробовал $facebook->getAccessToken()
, все еще не работает. Я также попытался отправить JS SDK response.authResponse.accessToken
обратно на PHP и поместить его в $facebook->setAccessToken()
, что тоже не работает. Что, черт возьми, происходит? Я не имею никаких проблем, как это на настольном браузере, это только на мобильных устройствах ..
Чтобы уточнить, это сценарий, я использую для тестирования:
<?php
require_once(__DIR__ . '/../facebook-sdk-3.2.2/facebook.php');
$facebook = new Facebook(array(
'appId' => '[private]',
'secret' => '[private]',
'cookie' => true
));
$redirectUri = 'https://www.[private].com/ios-test.php';
$loginUrl = $facebook->getLoginURL(array(
'scope' => 'publish_stream,publish_actions,email',
'redirect_uri' => $redirectUri
));
echo '<a href="'.$loginUrl.'" target="_top">'.$loginUrl.'</a><br />';
var_dump($facebook->getUser());
exit(__FILE__.__LINE__);
Однако при тестировании на Приложение Facebook для iPhone, идентификатор пользователя - 0, а при нажатии $loginUrl
мне не предоставлено диалоговое окно с автозагрузкой, но я возвращаюсь на ту же страницу, где идентификатор пользователя остается 0. То же самое происходит и в родном браузере Android. При использовании Chrome на iPhone отображается правильный идентификатор пользователя Facebook.
Мне очень нужна помощь в этом, я провел более четырех часов, ударяя головой о эту стену и прочесывая интернет, ничего не помогает. Кто-то предложил попробовать Stack Overflow, я надеюсь, что они правы!
Я вижу, что кто-то проголосовал за него, но никто не вмешался, чтобы помочь. Какие люди посещают этот форум? –