Интеграция с Mail.ru (Мой мир)

Ответить
Аватара пользователя
andev
Сообщения: 219
Зарегистрирован: 13 янв 2012, 17:56

Интеграция с Mail.ru (Мой мир)

Сообщение andev » 31 июл 2012, 19:24

Здравствуйте! Разбираюсь с постом в ленту "Что нового?" из мобильного приложения.
Читаю описание API:

1) Авторизация для Standalone-приложений
После авторизации браузер будет перенаправлен на адрес следующего вида:

http://connect.mail.ru/oauth/success.html#
refresh_token=b45529ac9bf6b32be761975c043ef9e3&
access_token=b6442ed12223a7d0b459916b8ea03ce5&
token_type=bearer
Перехватите событие редиректа и разберите содержимое якоря (части после символа #)
Перехватил, получил access_token, идем дальше.

2) stream.post - Добавляет запись в поток «Что нового» пользователя.
Пример вызова:
http://www.appsmail.ru/platform/api?method=stream.post&
app_id=123456&
session_key=551fd0e4779e35859dfccd03397dc8a0&
sig=95a393ed7639184a52f7a17b6771a92&
text=test
Что бы понять что есть что, смотрим эту страницу:

3) Руководство по использованию REST API
method - название вызываемого метода, например, users.getInfo; обязательный параметр
app_id - идентификатор приложения; обязательный параметр
sig - подпись запроса; обязательный параметр
session_key - сессия текущего пользователя
method - название используемого метода, тут ясно, нужен "stream.post"
app_id - идентификатор прилки берем на web-морде управления прилкой
session_key - это access_token, который мы получили при авторизации
text - текст, размещаемый в ленте, тут ясно
sig - подпись запроса. Смотрим, как подписать запрос:

4) Подпись запроса
Схема клиент-сервер предназначена для случаев, когда REST API используется из клиента социального приложения, клиентского кода сайта или отдельного мобильного или desktop-приложения.
Если вы хотите использовать схему клиент-сервер, то передайте в параметрах запроса secure=0 и расчитайте sig по следующему алгоритму:
sig = md5(uid + params + private_key)
Значение params — это конкатенация пар «имя=значение» отсортированных в алфавитом порядке
Значение private_key вы можете взять из настроек приложения.
Значение uid — идентификатор текущего пользователя приложения.
params и private_key все ясно, но где в этой цепочке взять uid ?


Аватара пользователя
andev
Сообщения: 219
Зарегистрирован: 13 янв 2012, 17:56

Re: Интеграция с Mail.ru (Мой мир)

Сообщение andev » 31 июл 2012, 22:32

подключил библиотеку, передал ей applicationId, secretKey и sessionKey, вытянулось нормально, но как здесь сказано, это сервер-сервер, я же хочу обойтись без передачи secretKey по схеме клиент-сервер.

Ответить