2012-04-03 3 views
2

Я разрабатываю приложение (Flash/AS3), которое подключается к Facebook. После входа пользователя в систему мне нужно получить список своих друзей (только идентификаторы), проверьте, является ли кто-либо из них пользователем моего приложения (через реестр в базе данных), обновите список, добавив флаг каждому пользователю, который также пользователь приложения, а затем сделать материал с обновленным списком. Мой вопрос:Facebook следует сохранить список друзей пользователя в моей собственной базе данных?

  • Должен ли я запрашивать список друзей, выполнять проверку и извлекать данные во Flash при запуске приложения? Мне пришлось бы ждать ответа от Facebook плюс время для выполнения скрипта (php); У меня будет только одна таблица с информацией пользователей приложения;

или

  • я должен держать все друзья пользователя в собственной базе данных и иметь хрон работу автоматического обновления (возможно, один раз в день) мою базу данных, то есть, прошу каждого из моего приложения список друзей пользователей, выполнить проверку, удалить дубликаты и т. д. и т. д.? В этом случае у меня будет таблица с пользователями приложения, таблица со всеми друзьями моих пользователей (это могут быть тысячи, конечно) и таблица user_friends, чтобы связать обе предыдущие таблицы;

ноты: - Я использую PHP/Curl, чтобы сделать запросы к Graph API - MySQl Database - Я, вероятно, также будут проверять на Twitter и G + друзей для каждого пользователя (поэтому сценарий может занять еще больше времени, хотя я мог бы пройти через каждую сеть с отдельными этапами)

Как вы думаете, лучший подход? Я не возражаю, что в приложении есть период загрузки. На данный момент у меня уже есть первый подход, который почти завершен, но коллега предложил второй, так что пользователю приложения не придется ждать ответа Facebook/Twitter/G +/script. Но ... разве это не пустая трата ресурсов? Я имею в виду, что у Facebook и т. Д. Уже есть подключения для пользователей/друзей ... я могу получить что-либо, реплицируя это в моей собственной БД и имея задания cron, делающие обновления, скрытые от пользователей приложения?

Надеюсь, я поняла! Благодаря!

ответ

2

Однажды я столкнулся с аналогичной проблемой. Вы не сможете обновлять свою базу данных регулярно, потому что вам обычно нужен активный пользователь (= токен доступа) для извлечения списка друзей этого пользователя. Раньше вы могли бы попросить разрешения «offline_access», но это разрешение не рекомендуется: https://developers.facebook.com/roadmap/offline-access-removal/

Я решил написать все идентификаторы друзей в текстовый файл (User-ID в качестве имени файла: 123456789.txt) на моем сервере во время первого запуска моего приложения (показывая прядильщик и текст, говорящий «загрузка друзей ...»). Всякий раз, когда приложение запускалось после этого, я вытаскивал идентификаторы из этого файла.

Вы можете вызвать обновление этого файла, установив дату его создания. Если он «слишком старый», удалите и заново создайте его после того, как вы прочтете все идентификаторы друзей. Таким образом, кеш-файл будет создан в фоновом режиме и не будет замечен пользователем.

+0

Я не знал, что 'offline_access' был (будет) устаревшим: /. Итак, я думаю, вы правы - если токены больше не «постоянны», автоматические обновления не будут работать. Тем не менее, ваше решение похоже на сохранение кеша друзей. Но, как вы думаете, это необходимо? Может ли это «долго» для Facebook получить список друзей? Во всяком случае, я сохраню приложение так, как сейчас (вариант 1 в моем вопросе), и когда у меня будет все остальное, я сделаю некоторые тесты и вернусь к нему. Спасибо!;) – Edd

+1

Я только что понял, что в Graph API доступны «обновления в реальном времени» (developers.facebook.com/docs/reference/api/realtime), что означает, что вы можете подписаться на изменения в некоторых полях/соединениях (пользовательский список друзей - один из них), а сам Facebook будет POST с изменениями в запросе на URL-адрес по нашему выбору, позволяющий настраивать пользовательские обновления данных/кэширование. – Edd

+0

вы можете получить список друзей по токену доступа к приложениям –

Смежные вопросы