среда, 16 марта 2016 г.

Об Periscope Api

Начнем с того что в сейчас Periscope Api закрыт для пользователей, и существуют только неофициальные сборки на Github, которые требуют ключи  (consumer_key и consumer_secret,для выполнения запросов к Api. Уже доступны примеры на php и ruby для работы с  Periscope Api но без нужных нам ключей.

Самый интересный пример это OpenPeriscope, который выполняется браузером как стороннее приложение. В этом примере тоже нет нужного нам ключа,  автор предлагает нам сделать реверс-инжиниринг  приложения periscope или украсть его с Dev Twitter.



Также автор предоставляет нам хорошую документацию.

Если вы уже имеете  ключ,  вам все равно потребуются  авторизация через Twitter.

Вот 5 основных шагов для авторизации в Periscope с помощью Твиттера.
1. Сделать Запрос и получить OAuth токен через https://api.twitter.com/oauth/request_token
2. Перенаправить пользователя на https://api.twitter.com/oauth/authorize?oauth_token=[oauth_token]
3. Подождать пока пользователь авторизируеться и получит oauth_token и oauth_verifier от перенаправленной страницы
4.После этого сделать запрос к https://api.twitter.com/oauth/access_token?oauth_verifier=[oauth_verifier] что бы получить oauth_token, oauth_token_secret, user_id и user_name
5. Отправить запрос к https://api.periscope.tv/api/v2/loginTwitter
{
    "bundle_id": "com.bountylabs.periscope",
    "phone_number": "",
    "session_key": "oauth_token",
    "session_secret": "oauth_token_secret",
    "user_id": "user_id",
    "user_name": "user_name",
    "vendor_id": "81EA8A9B-2950-40CD-9365-40535404DDE4"
  }
6. Сохранить значение куки после последнего запроса и вставлять в разные  запросы к Periscope Api .

Запросы на 1 и 4 шаге нужно использовать правильные Authorization заголовки(header) которые содержат в себе consumer_key и consumer_secret  Periscope приложения.

Customer_key был получен в первых шагах(если вы можете обойти сертификат ) то customer_secret никогда не покидает ваше устройство и вы не можете его получить простым перехватом трафика.

Я не имею нужного ключа , если вам каким нибудь способом удалось его получить напишите пожалуйста мне.

В моей ситуации есть одна альтернатива это получение фида из твитера о новых трансляциях на сайт с помощь парсинга. Уже даже существую примеры на GitHub.
Вот один из них на node.js.


1 комментарий: