2014-01-26 4 views
1

Я новичок в facebook API. Я читаю документацию весь день, но я все еще не могу понять, как она работает.Facebook API - постоянный ключ для каждого пользователя

Я с использованием официального php-sdk, и я думал, что получу постоянный ключ для каждого пользователя, который я могу вставить в базу данных, и использовать каждый раз, когда мне нужно вызывать API для данных пользователя.

Возможно ли получить что-то вроде этого? Постоянный ключ?

Я прочитал Facebook login – access tokens, но я все еще не могу заставить его работать.

Это единственное, что думает, что работа для меня: http://pastebin.com/Dq65pZaU. Как я могу вызвать API после того, как у меня есть постоянный ключ для каждого пользователя? Я могу редактировать его сам :) просто хотел показать вам источник. Извините, за глупый вопрос, но FB api для меня что-то вроде ада.

+1

Это было возможно некоторое время назад, прося 'offline_access' разрешений, но не больше. Теперь вы можете получить расширенный токен, который действителен в течение 60 дней, после чего вам нужно будет получить новый. Кстати, это уже обсуждалось несколько раз раньше, поэтому, пожалуйста, сделайте некоторые правильные исследования. – CBroe

+0

Мой английский, вероятно, плохо, чтобы сделать хороший поисковый запрос, извините. Спасибо, я это узнаю. Это раздражает. – Northys

ответ

1

Чтобы разрезать большой короткий рассказ:

При использовании OAuth считают, что у вас есть 2 вещи, чтобы сделать. Сначала войдите в систему в приложение oAuth, а затем запросите токен, который предоставит вам разрешения для этого приложения от имени пользователя. Чтобы определить, какие разрешения вы можете предоставить пользователю, вы используете область действия. Область определяет некоторые группы свойств. Например, scope = день рождения и т. Д.

В facebook SDK предусмотрена функция fb user_id, если вы хотите сохранить идентификатор профиля пользователя для использования в будущем. Но чтобы совершать вызовы на api, вам нужно хранить и использовать токен.

Токен может длиться до 2 часов. Когда токен истекает, вам нужно получить новый.

Вам необходимо выполнить проверку действительности токена с помощью try и fail либо с помощью отладчика маркера, либо с помощью других методов.

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

Наконец, существуют способы продлить срок службы токена или запросите свежий (обмен).

Все эти методы задокументированы here.

Надеюсь, это немного упростит.

Гоча:

-Обычен веб-сервер предоставляет поток вас с 60 дней фишкой. см дискуссии here

-use отладчика на маркере, чтобы найти информацию об этом here

+0

Если я вас понимаю - невозможно ли приложение работать без загрузки fb каждые 2 часа?Потому что facebook заблокирован в школе. EDIT: теперь я прочитал комментарий выше. Спасибо за объяснение :) – Northys

+1

Как я уже сказал, вы можете продлить срок службы до 2 месяцев, и да, это возможно, посетив его. –

+0

ОК, я буду использовать [setExtendedAccessToken()] (https://developers.facebook.com/docs/reference/php/facebook-setExtendedAccessToken /), прежде чем я сделаю какой-либо звонок, и если я не получу ответа, я просто попрошу пользователя снова войти в систему, верно? – Northys

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