Поиск Netflix с использованием API без входа пользователя? - PullRequest
0 голосов
/ 31 марта 2010

Я пытаюсь найти Netflix через их API, но без входа в систему (потому что я хочу сделать это на сервере, не обязательно связанное с какими-либо действиями пользователя). Я только начинаю с их API, поэтому, пожалуйста, прости меня, если я делаю что-то совершенно глупое. Вот URL, к которому я пытаюсь получить доступ:

http://api.netflix.com/catalog/titles/?oauth_consumer_key=MY_CONSUMER_KEY&oauth_token_secret=MY_SECRET&term=fight+club

Однако, это дает мне ошибку 400 Bad Request. Нет ли способа просматривать / искать в каталоге Netflix, если пользователь сначала не вошел в мое приложение? Или я что-то не так делаю?

Примечание: Я получаю доступ к указанному URL-адресу через мой браузер, поскольку я хочу выполнить только запрос GET, что по умолчанию выполняет браузер.

1 Ответ

2 голосов
/ 31 марта 2010

При использовании OAuth вам необходимо вычислить подпись для запроса, даже если вы используете двухстороннюю аутентификацию, которая использует ваш общий секретный ключ и никакой маркер пользователя (это означает, что ваше приложение вошло в систему, но нет пользователя авторизован).

Если это HTTP (как в не-SSL) URL, вам нужно использовать метод подписи HMAC-SHA1 *, а не PLAINTEXT, потому что вы не хотите, чтобы ваш секретный ключ пользователя передавался по сети в виде простого текста.

Если они разрешают URL-адрес HTTPS, то вы можете использовать метод PLAINTEXT, но вам все равно нужно будет рассчитать его в соответствии с http://tools.ietf.org/html/draft-hammer-oauth-10#page-27 и передать его в качестве параметра строки запроса oauth_signature вместо передачи oauth_token_secret. Обратите внимание, что вам также нужно будет передать oauth_signature_method=PLAINTEXT в качестве параметра.

Кроме того, возможно, стоит посмотреть ответ, который возвращается. Если они реализуют расширение OAuth Problem Reporting, то это может помочь вам разобраться в том, что не так.


* или другой метод, который шифрует ваш общий секрет

...