API Facebook без аутентификации клиента для общего контента

Я разрабатываю сайт для клиента, у которого уже есть фотографии своих продуктов на Facebook, и он хочет, чтобы те же альбомы были воспроизведены на его сайте. Я уже использовал Facebook Connect, поэтому я бросил комбинацию photos.getAlbums и photos.get чтобы динамически создавать галереи.

До сих пор так хорошо, но потом я понял, что если нет зарегистрированного пользователя FBC, сеанс не создается, и API становится непригодным для использования даже для общедоступного контента. Я, очевидно, хочу показывать альбомы всем, а не только тем, кто связывает их аккаунты.

Это как все функции в API Facebook работают? Какой лучший (проще реализовать) обходной путь для этой ситуации?

Solutions Collecting From Web of "API Facebook без аутентификации клиента для общего контента"

По состоянию на сентябрь 2010 года вы можете аутентифицироваться как приложение, не связанное с ним. Подробнее см. http://developers.facebook.com/docs/authentication/ . Или вы можете запустить этот примерный код, чтобы получить токен доступа:

 curl -F grant_type=client_credentials \ -F client_id=your_app_id \ -F client_secret=your_app_secret \ https://graph.facebook.com/oauth/access_token 

Для записи мне удалось решить эту ситуацию, разработав небольшой бэкэнд, который требует от клиента входа в Facebook один раз и предоставления offline_access разрешения для приложения FB, поэтому я могу сохранить его ключ сеанса и использовать его для аутентификации клиента API Facebook каждый раз, когда мне нужно использовать FQL для получения непубличного контента.

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

Это не имеет смысла для меня – у меня есть (относительно простое) приложение, которое отображается в facebook, даже если пользователь никогда не заходил в facebook раньше (в этом случае он отображает демонстрационные данные).

Когда я использую PHP-библиотеку facebook, я просто делаю это:

$ facebook = новый Facebook ($ api_key, $ secret);

Идентификатор сеанса не требуется, но, очевидно, функции api, которые зависят от информации о пользователе, не будут работать.

Вы также можете посмотреть «бесконечную сессию» для своего приложения – вы можете создать для себя бесконечный сеансовый ключ и использовать этот сеанс для доступа к API.