Давайте сначала обозначим, что такое Twitter.
Twitter – это бесплатный интернет-сервис, представляющий собой систему микроблогов, позволяющий пользователям отправлять короткие текстовые заметки (до 140 символов), используя веб-интерфейс, SMS, службы мгновенных сообщений или сторонние программы-клиенты (http://ru.wikipedia.org).
Второй вопрос, а зачем он нужен вообще? Просто общаться с друзьями? Это как вариант, но все таки существуют более удобные сервисы для обмена сообщениями. Скорее всего для публикацией и слежением за новостями (как личные, так и публичные).
Итак, если у вас есть некий интернет магазин, или сайт компании, на котором вы публикуете новости, то можно создать и twitter аккаунт, для того, чтобы дублировать туда информацию о выходе новых публикаций на сайте (как новости, так и поступление новой продукции), или вы можете прикрутить к своему блогу возможность публиковать в твиттере информацию о поступлении новых топиков (есть готовые сервисы, как http://twittsync.com/, работает на Microsoft Azure). Так же можно использовать твиттер “не по назначению” – вы можете создать некий пустой аккаунт, который будет публиковать, к примеру, состояние вашего компьютера, через Direct Message на ваш аккаунт или просто к себе на главную – один из примеров: ваш провайдер требует деньги за белый IP адрес, в противном случае он назначает вам адрес динамически, и каждые 24 часа вас отрубает (это для тех, кто использует роутеры) и вы хотите в любое время (например, с работы) узнавать какой у вас IP адрес для того чтобы зайти на свой домашний компьютер удаленно.
Следующий вопрос, сложно ли это сделать?
Легко! Можно пойти немного по более сложному пути и изучать TwitterAPI самому, тогда вам ни от чего не нужно будет зависеть, для начала тогда нужно воспользоваться статьей – Michael C. Kennedy – Building a Twitter Application in .NET, путь попроще – использовать готовое решение LINQ to Twitter (я им и воспользуюсь).
Итак, давайте начнем с простейшего примера. Создадим консольное приложение со следующим кодом:
Неправда ли все получается очень просто (не забудьте заменить в вашем случае пользователя и пароль). Причем TwitterContext может так же легко работать и с http://jtweeter.com и http://identi.ca (такими же сайтами для микроблогов).
Но давайте вернемся к нашему сценарию. Мы задумали публиковать наш IP адрес. Первый вопрос – как узнать IP адрес нашего компьютера, для этого можно обратиться к статье Get the IP address in a Windows application на geekpedia – воспользуемся последним способом (который использует сервис http://www.geekpedia.com/ip.php), так как этот способ учитывает так же то, что ваш компьютер может быть направлен через роутер (как у меня):
В данному методе используются классы из именованных пространств System.IO и System.Net (не забудьте подключить using’и). Создаем новый проект – Windows Service, добавим в него сразу информацию об установке (How to: Add Installers to Your Service Application). Воспользуемся классом Timer (из System.Timers), который будет каждые 60 минут вызывать метод, который и будет публиковать IP адрес:
В данном методе мы сначала обновляем статус аккаунта UserName, а так же отправляем сообщение пользователю ToUserName. Чтобы установить Windows Service воспользуйтесь утилитой InstallUtil.
Как видите интегрировать свое приложение или веб-сайт с модным Twitter’ом очень просто. Более того, таким способом можно повышать свои шансы во всяческих конкурсах, вроде розыгрыша приглашений в офис Google (а похожих розыгрышей бывает много). Пример приложения можно скачать ниже.
Twitter – это бесплатный интернет-сервис, представляющий собой систему микроблогов, позволяющий пользователям отправлять короткие текстовые заметки (до 140 символов), используя веб-интерфейс, SMS, службы мгновенных сообщений или сторонние программы-клиенты (http://ru.wikipedia.org).
Второй вопрос, а зачем он нужен вообще? Просто общаться с друзьями? Это как вариант, но все таки существуют более удобные сервисы для обмена сообщениями. Скорее всего для публикацией и слежением за новостями (как личные, так и публичные).
Итак, если у вас есть некий интернет магазин, или сайт компании, на котором вы публикуете новости, то можно создать и twitter аккаунт, для того, чтобы дублировать туда информацию о выходе новых публикаций на сайте (как новости, так и поступление новой продукции), или вы можете прикрутить к своему блогу возможность публиковать в твиттере информацию о поступлении новых топиков (есть готовые сервисы, как http://twittsync.com/, работает на Microsoft Azure). Так же можно использовать твиттер “не по назначению” – вы можете создать некий пустой аккаунт, который будет публиковать, к примеру, состояние вашего компьютера, через Direct Message на ваш аккаунт или просто к себе на главную – один из примеров: ваш провайдер требует деньги за белый IP адрес, в противном случае он назначает вам адрес динамически, и каждые 24 часа вас отрубает (это для тех, кто использует роутеры) и вы хотите в любое время (например, с работы) узнавать какой у вас IP адрес для того чтобы зайти на свой домашний компьютер удаленно.
Следующий вопрос, сложно ли это сделать?
Легко! Можно пойти немного по более сложному пути и изучать TwitterAPI самому, тогда вам ни от чего не нужно будет зависеть, для начала тогда нужно воспользоваться статьей – Michael C. Kennedy – Building a Twitter Application in .NET, путь попроще – использовать готовое решение LINQ to Twitter (я им и воспользуюсь).
Итак, давайте начнем с простейшего примера. Создадим консольное приложение со следующим кодом:
using System; <br>using System.Linq; <br>using LinqToTwitter; <br><br>namespace TwitterIntegration <br>{ <br> internal class Program <br> { <br> private static void Main() <br> { <br> // Класс, отвечающий за авторизацию <br> UsernamePasswordAuthorization auth = new UsernamePasswordAuthorization <br> { <br> UserName = "UserName", <br> Password = "Password" <br> }; <br><br> // Основной провайдер для работы с twitter <br> TwitterContext twitterCtx = new TwitterContext(auth); <br> // Осуществляем авторизацию <br> auth.SignOn(); <br><br> // Берем twit'ы, оставленные нашими друзьями (за кем мы следуем) <br> var publicTweets = <br> from tweet in twitterCtx.Status <br> where tweet.Type == StatusType.Friends <br> select tweet; <br><br> // Печатаем результат на экран <br> publicTweets.ToList().ForEach( <br> tweet => Console.WriteLine( <br> "User Name: {0}, Tweet: {1}", tweet.User.Name, tweet.Text)); <br><br><br> auth.SignOff(); <br><br> Console.WriteLine("Press any key to end this demo."); <br> Console.ReadKey(); <br> } <br> } <br>}<br><br>* This source code was highlighted with Source Code Highlighter.
Неправда ли все получается очень просто (не забудьте заменить в вашем случае пользователя и пароль). Причем TwitterContext может так же легко работать и с http://jtweeter.com и http://identi.ca (такими же сайтами для микроблогов).
Но давайте вернемся к нашему сценарию. Мы задумали публиковать наш IP адрес. Первый вопрос – как узнать IP адрес нашего компьютера, для этого можно обратиться к статье Get the IP address in a Windows application на geekpedia – воспользуемся последним способом (который использует сервис http://www.geekpedia.com/ip.php), так как этот способ учитывает так же то, что ваш компьютер может быть направлен через роутер (как у меня):
private static string GetIpAddress() <br>{ <br> WebClient myWebClient = new WebClient(); <br> Stream myStream = myWebClient.OpenRead("http://www.geekpedia.com/ip.php"); <br> StreamReader myStreamReader = new StreamReader(myStream); <br> return myStreamReader.ReadToEnd(); <br>}<br><br>* This source code was highlighted with Source Code Highlighter.
В данному методе используются классы из именованных пространств System.IO и System.Net (не забудьте подключить using’и). Создаем новый проект – Windows Service, добавим в него сразу информацию об установке (How to: Add Installers to Your Service Application). Воспользуемся классом Timer (из System.Timers), который будет каждые 60 минут вызывать метод, который и будет публиковать IP адрес:
private static void TwittIpAddress(object sender, ElapsedEventArgs e) <br>{ <br> UsernamePasswordAuthorization auth = new UsernamePasswordAuthorization <br> { <br> UserName = "UserName", <br> Password = "Password" <br> }; <br><br> // Основной провайдер для работы с twitter <br> TwitterContext twitterCtx = new TwitterContext(auth); <br> // Осуществляем авторизацию <br> auth.SignOn(); <br><br> string message = string.Format("My IP Address is: {0}", GetIpAddress()); <br><br> //Пишем новый tweet <br> twitterCtx.UpdateStatus(message); <br><br> //Отправляем сообщение на аккаунт <br> twitterCtx.NewDirectMessage("ToUserName", message); <br><br> auth.SignOff(); <br>}<br><br>* This source code was highlighted with Source Code Highlighter.
В данном методе мы сначала обновляем статус аккаунта UserName, а так же отправляем сообщение пользователю ToUserName. Чтобы установить Windows Service воспользуйтесь утилитой InstallUtil.
Как видите интегрировать свое приложение или веб-сайт с модным Twitter’ом очень просто. Более того, таким способом можно повышать свои шансы во всяческих конкурсах, вроде розыгрыша приглашений в офис Google (а похожих розыгрышей бывает много). Пример приложения можно скачать ниже.