Я написал для этого OAuth-менеджер, потому что существующие опции были слишком сложными.
OAuth с верификацией в .NET
Класс ориентирован на OAuth и специально работает с Twitter.Это не тот класс, который предоставляет массу методов для всей поверхности веб-API Twitter.Это просто OAuth.Если вы хотите обновить статус в Twitter, этот класс не предоставляет метод «UpdateStatus».Я подумал, что разработчикам приложений очень просто создать HTTP-сообщение, которое они хотят отправить.Другими словами, HTTP-сообщение является API.Но материал OAuth может быть немного сложнее, поэтому он заслуживает API, то есть класс OAuth.
Вот пример кода для запроса «токена запроса»:
var oauth = new OAuth.Manager();
oauth["consumer_key"] = MY_APP_SPECIFIC_CONSUMER_KEY;
oauth["consumer_secret"] = MY_APP_SPECIFIC_CONSUMER_SECRET;
oauth.AcquireRequestToken(SERVICE_SPECIFIC_REQUEST_TOKEN_URL, "POST");
ЭТО ЭТО .В Твиттере URL-адрес службы для запроса токенов: «https://api.twitter.com/oauth/request_token".
. Получив токен запроса, вы открываете пользовательский интерфейс веб-браузера, в котором пользователь явно дает разрешение на ваше приложение,чтобы получить доступ к Twitter. Это нужно сделать один раз, при первом запуске приложения. Сделайте это во встроенном элементе управления WebBrowser с кодом, подобным следующему:
var url = SERVICE_SPECIFIC_AUTHORIZE_URL_STUB + oauth["token"];
webBrowser1.Url = new Uri(url);
Для Twitter, URL-адрес для этого: "https://api.twitter.com/oauth/authorize?oauth_token=" с добавленным символом oauth_token.
Возьмите булавку из пользовательского интерфейса веб-браузера с помощью некоторого просмотра экрана HTML.Затем запросите «токен доступа»:
oauth.AcquireAccessToken(URL_ACCESS_TOKEN,
"POST",
pin);
Для Twitter этот URL-адрес «https://api.twitter.com/oauth/access_token".
Вам не нужно явно обрабатывать токен доступа; OAuthManagerкласс поддерживает его для вас в состоянии. Но токен и секрет доступны в oauth["token"]
и oauth["token_secret"]
, на случай, если вы захотите записать их в постоянное хранилище. Чтобы делать запросы с этим токеном доступа, сгенерируйте заголовок authz, подобный этому:
var authzHeader = oauth.GenerateAuthzHeader(url, "POST");
... где url
- конечная точка ресурса. Для обновления статуса пользователя в Twitter это будет "http://api.twitter.com/1/statuses/update.xml?status=Hello".
Затем установите полученное значениевведите в заголовок HTTP имя с именем Авторизация и отправьте HTTP-запрос на URL.
В последующих запусках, когда у вас уже есть токен доступа и секрет, вы можете создать экземпляр OAuth.Manager следующим образом:
var oauth = new OAuth.Manager();
oauth["consumer_key"] = MY_APP_SPECIFIC_CONSUMER_KEY;
oauth["consumer_secret"] = MY_APP_SPECIFIC_CONSUMER_SECRET;
oauth["token"] = your_stored_access_token;
oauth["token_secret"] = your_stored_access_secret;
Затем просто сгенерируйте заголовок authz и сделайте ваши запросыкак описано выше.
Загрузка DLL
Просмотр Документации