Проблема с Facebook Graph API - PullRequest
       13

Проблема с Facebook Graph API

0 голосов
/ 01 июля 2011

У меня проблемы с аутентификацией в Facebook. Даже когда я вошел в систему, функция getUser() возвращает 0

Вот мой код:

$fb_params = array(
'appId'     => APP_ID,
'secret'    => SECRET_ID
);  
$fb = new Facebook($fb_params);

echo $fb->getUser(); // UID

У кого-то есть идея?

PS: «Я больше не могу получить доступ к $fb->api('/me'), он говорит, что требуется access_token, я думаю, это связано с проблемой аутентификации ...»

Спасибо

1 Ответ

1 голос
/ 01 июля 2011

В данный момент вы не авторизуетесь как пользователь, только как приложение. В результате API Facebook не может показать вам страницу / me или ответить на вызов getUser (), поскольку он не знает, от какого пользователя вы пытаетесь получить доступ к API от имени (то есть. "Кто такой / me ? "). Вы также сможете получить доступ только к общедоступной информации.

Вам нужно, чтобы пользователь аутентифицировал ваше приложение через Oauth2, сохранял полученный вами access_token и затем включал его в любые будущие вызовы (например, WIRQjCey1.3600.1309525200.0-509450630 | eD6SAR "> https://graph.facebook.com/me?access_token=2227470867|2.AQB-_WIRQjCey1.3600.1309525200.0-509450630|eD6SAR...).

Для этого с помощью PHP SDK вы можете сделать

$loginUrl = $fb->getLoginUrl();
echo "<a href='$loginUrl'>Login with Facebook</a>";

Щелчок по этой ссылке и аутентификация пользователя сохранят access_token в $ _SESSION, а когда вы нажмете, обновите «новый Facebook ($ fb_params);» конструктор выберет токен доступа из $ _SESSION и будет использовать его для всех будущих вызовов, поэтому вызовы наподобие $ fb-> getUser (); вернется правильно.

В папке примеров SDK есть пример работы: https://github.com/facebook/php-sdk. Вы можете использовать его для проверки вызовов во время проверки подлинности в качестве приложения (только для общего доступа к данным), а затем в качестве пользователя.

...