Как мне получить доступ к методам API Twitter только для аутентификации из веб-приложения

У меня есть веб-приложение для iPhone, который в конечном итоге будет работать в приложении PhoneGap - но пока я запускаю его в Safari.

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

На данный момент веб-приложение имеет учетные данные oAuth (ключ и токен), которые сохраняются локально. С этого момента я бы хотел, чтобы он использовал метод Twitter statuses / user_timeline.json для сбора твитов для определенного пользователя. У меня есть приложение, использующее запросы JSONP, чтобы успешно делать это с незащищенными твитами; когда он обращается к временной шкале частного канала Twitter, в приложении появляется диалоговое окно базовой аутентификации HTTP.

Я считаю, что мне нужно предоставить учетные данные OAuth для Twitter, чтобы мое веб-приложение могло идентифицировать и аутентифицировать себя. Twitter рекомендует сделать это путем добавления заголовка авторизации HTTP, но, поскольку я использую JSONP для запроса, я не думаю, что это вариант для меня. Прав ли я, предполагая это?

Мои варианты, по-видимому, заключаются в том, чтобы либо указать учетные данные oAuth в качестве параметров строки запроса (что Twitter не рекомендует, но документация все еще поддерживает); или проксирование всех твитов через промежуточный сервер. Я бы предпочел избежать последнего.

Я получаю доступ к Twitter API, используя URL-адреса формы

http://api.twitter.com/1/statuses/user_timeline.json?user_id=29191439&oauth_nonce=XXXXXXXXXXX&oauth_signature_method=HMAC- SHA1 & oauth_timestamp = 1272323042 & oauth_consumer_key = XXXXXXXXXX & oauth_signature = XXXXXXXXXX & oauth_version = 1. 0

Когда user_id является публичным пользователем, это работает нормально. Когда user_id является частным пользователем, я получаю этот диалог HTTP Basic Auth. Есть идеи, что я делаю не так? Я надеюсь, что это что-то досадно простое вроде «забыть важный параметр» ...

6
задан Tom Hume 20 January 2011 в 20:24
поделиться