Пожалуйста, прочтите http://developers.facebook.com/docs/.
Это действительно легко, просто и понятно.
Ваш вопрос настолько расплывчатый и обширный, что на него нельзя ответить хорошо.
Если у вас есть какие-то конкретные проблемы с реализацией, это правильное место.
Однако, чтобы ответить хотя бы на часть вашего вопроса:
Самым мощным инструментом при работе с приложениями Facebook является Graph API.
Его принцип очень прост. Вы можете сделать любое действие от имени любого пользователя или приложения. Сначала вы должны сгенерировать токен, который идентифицирует пользователя и соответствующие разрешения. Эти токены можно сделать «постоянными», чтобы вы могли выполнять фоновые задачи. Обычно они активны только очень короткое время, поэтому вы можете выполнять действия, взаимодействуя с пользователем. В процессе генерации токенов пользователь должен подтвердить, какие права вы запрашиваете.
Для сайтов, которые публикуют что-то автоматически, вы, вероятно, сгенерируете постоянный токен, который будет активен один раз, если вы удалите приложение в настройках конфиденциальности.
В принципе, вы можете работать с любым приложением на любом веб-сайте. Там нет ограничений. Однако есть два способа генерирования токенов. Один связан с дополнительным запросом, а второй - со стороны клиента, который привязан к одному домену, указанному в настройках вашего приложения.
Приложение:
@ ArtoAle
вы правы в отношении каждого приложения, предназначенного только для одного домена. однако, как только вы получили действительный токен, не имеет значения, где или кто вы используете его в графе API.
позвольте мне объяснить это немного:
это не имеет смысла, так как это вы делаете запрос. нет такой вещи, как "откуда исходит запрос". конечно, есть информация заголовка "referer", но она может быть свободно указана и не используется ни в каком контексте этого.
домен, который вы вводите в настройках своих приложений, ограничивает только, куда Facebook перенаправляет пользователя.
почему
это гарантирует, что какой-то злоумышленник не сможет настроить веб-сайт на каком-либо домене, и позволит пользователю авторизовать приложение и получить токен доступа с ВАШИМ приложением.
, поэтому этот параметр гарантирует, что пользователь и маркер доступа будут перенаправлены обратно на ВАШ сайт, а не на другой плохой сайт.
но есть альтернатива. если вы используете поток управления для настольных приложений, вы не получите токен доступа сразу после перенаправления пользователя обратно. вы получаете временный токен сессии, который вы можете обменять на токен доступа. этот обмен выполняется на стороне сервера поверх API REST и требует секретности вашего приложения. Таким образом, на данном этапе гарантируется, что именно ВЫ получаете токен.
Этот метод можно использовать в любом домене или в случае настольных приложений без домена.
Это цитата из документации Faceboo:
Чтобы конвертировать сеансы, отправьте POST
запросить
https://graph.facebook.com/oauth/exchange_sessions
с разделенным запятыми списком
сеансы, которые вы хотите конвертировать:
curl client_id = your_app_id \
-F client_secret = your_app_secret \
-F сессий = 2.DbavCpzL6Yc_XGEI0Ip9GA __. 3600.1271649600-12345,2.aBdC ...
\
https://graph.facebook.com/oauth/exchange_sessions
Ответ на запрос
JSON массив токенов доступа OAuth в
в том же порядке, что и данные сессии:
[{
"access_token": "...",
"expires": 1271649600,}, ...]
Однако вам не нужен этот метод, так как он немного сложнее. Для вашего случая использования я бы предложил использовать центральную точку авторизации.
Таким образом, вы бы указали свой ОДИН домен в качестве URL-адреса перенаправления. Этот домен чем ПОДЕЛЕН между вашими сайтами. там вы можете получить полностью действительный токен доступа и беспрепятственно перенаправить пользователя обратно на веб-сайт вашего конкретного проекта и передать токен доступа.
Таким образом, вы можете использовать традиционную простую процедуру аутентификации, которая, вероятно, также более надежна в будущем.
Факт остается фактом.Как только токен доступа сгенерирован, вы можете выполнить любое действие из любого домена, нет никакой разницы, поскольку буквально нет «домена», из которого поступает запрос (см. Выше).
, кроме этого, если вычтобы некоторые приятные функции JavaScript работали - например, поле для комментариев или кнопка «Мне нравится», вам необходимо правильно настроить теги open graph .
, если у вас есть проблемы с реализацией или, как вы сказали, «домен»ошибки ", пожалуйста, опишите их более четко, включите шаги, которые вы сделали, и, если возможно, сообщение об ошибке.