Ручная аутентификация Twitter REST API - PullRequest
3 голосов
/ 31 января 2011

В основном я хочу использовать метод поиска пользователей Twitter (REST API), такой: http://apiwiki.twitter.com/w/page/24142947/Twitter-REST-API-Method:-users-lookup

, но только для одного запроса, так что более менее вручную.

Когда поддерживается APIобычная проверка подлинности Я мог бы просто ввести свое имя пользователя / пароль и собрать информацию о людях, которые пишут в Твиттере на заданную тему / поиск (относительно того, сколько у них подписчиков, местоположения и т. д. - в основном для целей охвата / возврата инвестиций).Я бы просто запросил XML, отформатировал его и поместил в файл Excel для воспроизведения.

Поскольку Twitter больше не поддерживает базовую аутентификацию с помощью этого метода, есть другой способ, которым я могу вручную запросить эту информацию, илина самом деле нужно настроить oAuth?

Есть ли другой вариант, который проще?

Ответы [ 2 ]

1 голос
/ 01 февраля 2011

Я использую LINQPad для всего моего написания в Твиттере;это просто один из лучших инструментов, которые я использовал для работы с любым кодом.Это бесплатная утилита (вы должны платить только за автоматическое заполнение выписок и некоторые другие интересные функции, но вам не нужно ).Если вы не используете Windows, то это не будет для вас чем-то полезным, но если у вас есть Windows-бокс, который вы можете использовать, то возможность использовать метод Dump(), предоставляемый LINQPad, - просто огромная экономия времени.

Использование LINQPad

Сначала необходимо зарегистрировать приложение в Twitter.У Адама очень хорошая статья о настройке вашего приложения на dev.twitter.com в своем ответе.

После того, как вы получите токены OAuth, загрузите и установите LINQPad и .NET Framework 4.0 (если у вас его еще нет.)

Следующий захват Twitterizer , отличная библиотека для .NET Twitter.Я использую версию 2.3.1 для этого примера.Распакуйте ZIP-файл в папку, к которой вы можете обратиться позже.Теперь мы можем начать.

Запустите LINQPad, щелкните окно Query 1 и измените Language на C # Statements .

Следующее нажатие F4 , чтобы открыть Свойства запроса .На вкладке Дополнительные ссылки нажмите Обзор ... и найдите Twitterizer2.dll там, где вы его извлекли ранее.

Adding a reference to Twitterizer2.dll in LINQPad

Сейчас,нажмите на вкладку Дополнительное пространство имен и введите Twitterizer в окне следующим образом:

Adding a reference to Twitterizer in LINQPad

Теперь нажмите OK, и мы можем написать наш запрос.

В окне Query 1 введите следующий код:

OAuthTokens tokens = new OAuthTokens();
tokens.ConsumerKey = "YourConsumerKey";
tokens.ConsumerSecret = "YourConsumerSecret";
tokens.AccessToken = "YourAccessToken";
tokens.AccessTokenSecret = "YourAccessSecret";

TwitterUser.Lookup(
  tokens, 
  new LookupUsersOptions { 
    ScreenNames={"arcain","dotnetdevbuzz"}, IncludeEntities=true 
  }
).Dump(); // the magic happens here!

Теперь нажмите F5 , чтобы выполнить запрос, и выключив LINQPad, перейдите в Twitter, чтобы получить ваши результаты..

Результаты, использующие Dump(), хорошо отформатированы, и весь объект отображается без явной ссылки на что-либо, например, так:

Results from calling Twitter using LINQPad and Twitterizer

Вы можетезатем нажмите Экспортировать результаты , чтобы экспортировать в Excel, Word или просто HTML, хотя вы можете обратиться к некоторым полям объекта напрямую, чтобы указать данные отчета.

Да, и вы можетеприменять Dump() практически ко всему, так что это хорошее дополнение к любому набору инструментов.В любом случае, я надеюсь, что вы можете использовать это, так как я считаю, что это экономит время.


Я закончил вышеизложенное, а затем вспомнил консоль разработчика Twitter, Twurl.Twurl - это простая консоль, доступная на вкладке Apps на dev.twitter.com.Это можно найти, перейдя по ссылке в правой части страницы:

Link to the Twurl Console

Теперь Twurl был бы хорош, если бы он не был сломан ,но это все еще .Итак, следующая лучшая вещь (если вам все еще нужна альтернатива LINQPad для веб-консоли) будет использовать бесплатный сервис, такой как apigee.com , который также поддерживает OAuth.

1 голос
/ 31 января 2011

Если вы не хотите заниматься программированием и просто вводите URL-адрес в браузере, вы можете сделать это по одному пользователю одновременно с / users / show:

http://api.twitter.com/1/users/show.xml?screen_name=barackobama

Это не требует никакой аутентификации.Если вы хотите использовать / users / lookup для одновременного получения нескольких пользователей, вам нужно написать код, который использует OAuth.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...