Подписание твиттер-запроса потока пользователя с OAuth - PullRequest
3 голосов
/ 09 июня 2011

Я пытаюсь подписать запрос с OAuth.Я прочитал много статей об этом, но я не знаю, как на самом деле использовать его прямо сейчас.

У меня есть этот URL: https://userstream.twitter.com/2/user.json И я хочу вызвать его для определенного пользователя,У меня есть приложение (с секретным ключом Consumer) и ключ API для учетной записи, которую я хочу использовать.Так что единственное, что осталось сделать, это подписать его.Я использовал эту страницу: http://hueniverse.com/2008/10/beginners-guide-to-oauth-part-iv-signing-requests/ и получил кодовый блок, похожий на этот:

GET /photos?size=original&file=vacation.jpg HTTP/1.1
Host: photos.example.net:80
Authorization: OAuth realm="http://photos.example.net/photos",
    oauth_consumer_key="dpf43f3p2l4k3l03",
    oauth_token="nnch734d00sl2jdk",
    oauth_nonce="kllo9940pd9333jh",
    oauth_timestamp="1191242096",
    oauth_signature_method="HMAC-SHA1",
    oauth_version="1.0",
    oauth_signature="tR3%2BTy81lMeYAr%2FFid0kMTYa%2FWM%3D"

Однако cURL этого не принимает.Как мне сконструировать что-то, что будет работать с cURL?

Заранее спасибо

РЕДАКТИРОВАТЬ: мне действительно не нужен cURL, просто то, что я могу использовать с C ++ на GNU / Linux

1 Ответ

1 голос
/ 11 июня 2011

Когда я свернул запрос Twitter из командной строки (Windows) и мне пришлось добавить заголовок авторизации OAuth, я сделал это так:

curl -k "https://userstream.twitter.com/2/user.json" --header "Authorization: OAuth realm=""Twitter API"",oauth_consumer_key=""dpf43f3p2l4k3l03"",oauth_token=""nnch734d00sl2jdk"",oauth_nonce=""kllo9940pd9333jh"",oauth_timestamp=""1191242096"",oauth_signature_method=""HMAC-SHA1"",oauth_version=""1.0"",oauth_signature=""tR3%2BTy81lMeYAr%2FFid0kMTYa%2FWM%3D"""

Конечно, если вывы используете этот Java-апплет , убедитесь, что вы установили время как можно ближе к правильному времени, указали свои учетные данные OAuth и правильно задали часть URL-адреса, прежде чем подставлять выходные значения в командную строку.выше.

Method: GET
URI Scheme: https
Host Name: userstream.twitter.com
Port: 443
Request Path: /2/user.json
Parameters: [remove all]

Обратите внимание, что в выводе заголовка необходимо вручную изменить область на Twitter API , но все остальные выходные значения должны быть правильными.

Дополнительноэтот ответ имеет хороший выбор библиотек C ++ для Twitter, которые вы можете попробовать, хотя ссылка на документацию Twitter, содержащая списки, устарела - вот последняя .

...