2015-08-06 2 views
1

Я пытаюсь использовать Periscope API (https://github.com/gabrielg/periscope_api/blob/master/API.md) в своем приложении. Как и в ссылке API Я пытаюсь отправить запрос POST на https://api.periscope.tv/api/v2/loginTwitter?build=v1.0.2 с телом запроса следующимTwitter логин POST запрос в Periscope API

{ 
    "bundle_id": "com.bountylabs.periscope", 
    "phone_number": "", 
    "session_key": "<twitter_user_oauth_key>", 
    "session_secret": "<twitter_user_oauth_secret>", 
    "user_id": "<twitter_user_id>", 
    "user_name": "<twitter_user_name>", 
    "vendor_id": "81EA8A9B-2950-40CD-9365-40535404DDE4" 
} 

У меня уже есть приложение в https://apps.twitter.com/, но я не знаю, что использовать в качестве twitter_user_oauth_key и twitter_user_oauth_secret. Вы можете помочь?

ответ

0

API Periscope не является общедоступным, и библиотека, на которую вы ссылаетесь, является своего рода хаком.

Чтобы ответить на исходный вопрос, oauth_key & oauth_secret - это ключи, отправленные вашим реальным устройством в службу перископа. Вы можете найти их, обнюхивая сетевой трафик, отправленный вашим устройством.

+0

входа 'oauth_secret' никогда не отправляется на удаленный сервис. Он используется для генерации хэша на основе вашего запроса. Так простое обнюхивание трафика практически бесполезно. –

3

Должен сказать, что реализация https://github.com/gabrielg/periscope_api/ немного сложна. Автор использует 2 набора ключей (IOS_ * и PERISCOPE_ *), когда вам действительно нужен только один для доступа к API. Я не пытался транслировать, но в моей библиотеке PHP все остальные функции работают без проблем только с тем, что он называет набором ключей PERISCOPE_ *.

Вы получите session_secret и session_key из Твиттера после получения доступа к нему в качестве приложения Periscope.

Так Войти перископ с помощью процесса Twitter выглядит

  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 из URL переадресации
  4. Получить oauth_token , oauth_token_secret, user_id и user_name по запросу до https://api.twitter.com/oauth/access_token?oauth_verifier=[oauth_verifier]
  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. Сохранить cookie значение из последнего ответа и добавить его на все API вызовы JSON как своего рода маркер аутентификации.

Запросы в 1 и 4 этапах должны быть подписаны с надлежащим Authorization заголовком, который требует Перископ приложение consumer_key и consumer_secret. В то время как consumer_key можно обнюхивать прямо на первом шаге (если вы можете обойти прикрепление сертификата) consumer_secret никогда не покидает ваше устройство, и вы не можете получить его с простым перехватом трафика.

Существует PHP пример процесса https://gist.github.com/bearburger/b4d1a058c4f85b75fa83

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