Каков самый простой способ добавить Facebook Connect на веб-сайт PHP?

Facebook Connect

Я потратил несколько недель на создание простого веб-сайта, который использует соединение Facebook в качестве аутентификации.

Я изучил «theRunAround», предоставленный пример приложения. Однако код запутан и использует большое количество файлов и классов, большинство из которых имеют много функций, которые мне не нужны. Я также хорошо прочитал документацию.

Мой код работает почти все время. Однако иногда я получаю странные, непредсказуемые ошибки.

Требуемые функции

  • Проверьте, вошел ли пользователь уже в Facebook, если да, получите fb_uid, имя, изображение профиля.
  • Вернуть список друзей, которые также подключились к этому приложению

Существуют ли какие-либо учебные пособия, лучшие, чем те, которые предоставляет Facebook, относительно такой простой функциональности?


person Jon Winstanley    schedule 02.04.2009    source источник


Ответы (2)


Я написал свою собственную библиотеку для работы с Facebook Connect, так как обнаружил, что предоставленной очень не хватает.

Я не могу предоставить код, так как это код компании, но вот разбивка того, что мне нужно было сделать. Надеюсь, вы сможете использовать его и легко заполнить пробелы самостоятельно.

  1. В настройках вашего приложения настройте вкладку «Подключение». «URL-адрес подключения» в моем случае — это корневая папка, в которой находится мой файл xd_receiver.htm. Кроме того, в разделе «Дополнительно» я отметил свое приложение как веб-приложение.

  2. Поместите файл xd_receiver.htm в корневую папку, указанную выше. Существует масса документации по xd_receiver.htm. Это то, что Facebook делает, когда пользователь входит в систему. Он записывает файлы cookie в свой браузер, которые ваше приложение может прочитать позже для аутентификации.

  3. Файлы cookie, установленные Facebook, имеют формат _, где APIKEY — это ключ API вашего приложения, а имя файла cookie. Вам понадобится файл cookie _session_key для дальнейших вызовов API. Если этот файл cookie не установлен, вам нужно отобразить кнопку входа в систему, как описано в шагах 4–6. В противном случае перейдите к шагу 7.

  4. Вам нужно загрузить файл javascript Facebook на свою страницу, чтобы у вас была кнопка входа в FB. ==> http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php

  5. Чтобы отобразить кнопку входа в Facebook, используйте: Facebook JS автоматически отобразит для вас кнопку входа в Facebook. Это вызовет метод «facebook_onlogin», который вы должны определить, как только пользователь войдет в систему, чтобы вы могли что-то делать после того, как они войдут в систему.

  6. #P8# FB.init('ВАШ КЛЮЧ API ЗДЕСЬ', 'АБСОЛЮТНЫЙ ПУТЬ К ВАШЕМУ ФАЙЛУ XD_RECEIVER.HTM ЗДЕСЬ');
  7. Используйте session_key, установленный в файле cookie, для выполнения любых вызовов API. Как делать вызовы API, хорошо документировано.


Надеюсь это поможет.

person Matt    schedule 02.04.2009

Недавно я добавил функцию уведомления друзей в Cogenuity с помощью технологии facebook connect.

Во-первых, вам нужно создать объект facebook в вашем php-коде. Я предполагаю, что вы уже сделали регистрацию приложения facebook. Я обнаружил, что многие части подключения к Facebook не работают, но вот что сработало.

$user = $facebook->require_login();

Я обнаружил, что части FQL работают довольно хорошо.

$query = "select uid1 from friend where uid2 = {$user}";
$results = $facebook->api_client->fql_query($query);

Я использовал этот запрос FQL, который может удовлетворить ваши потребности.

$query = "SELECT name, pic_square, status, about_me FROM user WHERE uid = {$uid}";
$results = $facebook->api_client->fql_query($query);

Как и метод уведомления_send.

$facebook->api_client->notifications_send($notifyTarget, $intro, 'user_to_user');

Надеюсь, это поможет.

person Glenn    schedule 02.04.2009