Wiki
Clone wikidarudar-backend / Поиск знакомых через социальные сети
Список знакомых
URI: GET ~/settings/friends/<provider>
Получение списка знакомых из указанной соц. сети <provider>
.
Доступны следующие провайдеры:
- goog -- Гугл
- fb -- Фейсбук
- vk -- Вконтакте
- ok -- Одноклассники
Пример запроса:
GET /settings/friends/vk HTTP/1.1 HOST: api.brutto.dev.darudar.com content-type: application/json authorization: <token> accept: application/json
Обратить внимание на наличие токена в заголовке
При выполнении данного запроса будет выполнена проверка наличия у пользователя валидного токена доступа к контактам указанного провайдера.
Если токен присутствует - будет возвращен соответствующий список пользователей-знакомых.
Пример ответа:
#!json { "users": [ {...}, <-- Пользователь (см. вывод пользователя в списке) {...}, {...} ] }
Для того, чтобы запросить у соответствующего провайдера права на доступ к контактам пользователя, необходимо отправить запрос (в отдельном окне, аналогично внешней авторизации) на следующий endpoint:
URI: GET ~/auth/oauth2/external/go/<provider>/contacts
Для пользователя должна быть открыта сессия
Обязательные параметры:
Параметр | Описание |
---|---|
response_type | =token |
client_id | ID-клиента, который запрашивает доступ к контактам пользователя |
redirect_uri | URI на который будет перенаправлен ответ сервера авторизации (APP_CALLBACK_URI) - соответствует тому же, что используется при внешней авторизации |
Пример запроса:
GET /auth/oauth2/external/go/vk/contacts HTTP/1.1 HOST: api.darudar.org content-type: application/x-www-form-urlencoded response_type=token&client_id=<client_id>&redirect_uri=https://app.darudar.org/update_token.html
В результате на сервер авторизации указанного провайдера будет отправлен запрос прав на доступ к контактам пользователя, результатом которого станет предложение подтвердить выдачу разрешений приложению. После подтверждения выдачи прав произойдет редирект на указанный в запросе к провайдеру redirect_uri, в данном случае:
Redirect to: ~/auth/oauth2/external/cb/<provider>/contacts
Redirect to: https://app.darudar.org/update_token.html?access_token=<access_token>
После успешного выполнения вышеуказанного запроса необходимо повторно вызвать метод получения знакомых, в котором полученный на предыдущем шаге токен доступа будет использован для получения соответствующих данных от провайдера.
Результатом станет JSON-ответ, содержащий список пользователей в указанном ранее формате.
Updated