2013-05-11 2 views
1

У меня возникли проблемы с 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, я надеюсь, что они правы!

+0

Я вижу, что кто-то проголосовал за него, но никто не вмешался, чтобы помочь. Какие люди посещают этот форум? –

ответ

0

У меня такая же проблема. Я работал над всеми мобильными браузерами, указав прямой URL-адрес, а не URL-адрес холста при создании URL-адреса auth url. Но он не работает на iphone ......