예전 만들었던 프로그램(TwitDJ : 정보적 약자들을 위한 트윗방송 시스템 - http://topnanis.tistory.com/140 )을 리메이크 하고 있는데..
아쉽군요. 게으름으로 좋은 대회들을 다 놓쳐버렸으니.,
아쉽지만.. 이 참에 다시 하나씩 만져가며 사용하기 좋은 예제 소스를 공유하려고 합니다.
Twitterizer 라이브러리를 이용하였구요. 사용법은 어렵지 않으나 라이브러리 버젼과 프레임워크 버젼에 유의하여야 합니다. 예제에는
(Twitterizer2.3을 사용하였습니다. 프레임워크 버젼은 4.0 이예요)
시작을 하면 채널번호를 물어보는데 1에서 5번까지의 미리 만들어 놓은 샘플 채널의 현재 타임라인을 부를 수 있습니다.
트윗API를 사용하기 위해서는
1. 트윗 아이디 생성
2. 토큰값을 받는 등의 인증절차
3. Twitterizer 라이브러리를 소스에 연결
4. 소스 코딩
순으로 조금 까다로운 절차가 필요합니다. 아래는 소스 설명입니다.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//라이브러리를 포함시킵니다. 레퍼런스해서 Twitterizer.dll 연결해주면 됩니다.
using Twitterizer;
using System.Collections.Generic;
namespace TwitDjLight
{
class Program
{
static int whoIsDj = 0;
static OAuthTokens tokens;
static void Main(string[] args)
{
//메인에서의 기능은 [채널선택]과 [타임라인]을 뿌려주는 것입니다.
SelectDj();
PrintTimeline();
return;
}
static void PrintTimeline()
{
//친구의 타임라인을 4개만 뿌려주라는 거지요. 이것은 옵션을 통해 자신의 글만 보거나, 쪽지 글을 읽는 등의 선택을 할 수 있습니다.
TwitterResponse<TwitterStatusCollection> Collection = TwitterTimeline.FriendTimeline(tokens, new TimelineOptions { Count = 4 });
TwitterStatusCollection T = Collection.ResponseObject;
//흔히 예제에는 foreach문으로 되어 있는데 편의에 따라 for문으로 바꾸었습니다. 발신자명, 발신시각, 해시값, 내용 등입니다.
for (int i = 0; i < T.Count; i++)
{
Console.WriteLine(T[i].User.Name);
Console.WriteLine(T[i].CreatedDate);
Console.WriteLine("@" + T[i].User.ScreenName);
Console.WriteLine(Convert.ToString(T[i].Id));
Console.WriteLine(T[i].CreatedDate);
Console.WriteLine(T[i].Text);
}
return;
}
static void SelectDj()
{
// 채널입력부 입니다. printf, scanf의 C#버젼이네요
Console.Write("Input who is DJ? ");
string str;
str = System.Console.ReadLine();
whoIsDj = int.Parse(str);
Console.WriteLine("start whoIsDj : " + whoIsDj);
tokens = new OAuthTokens();
switch (whoIsDj)
{
//미리 만들어 놓은 인증키입니다. 원하시는 내용의 타임라인이 있으시다면 해당 아이디의 인증을 받아 아래에 덮어써주세요
// 방송언론
case 1:
tokens.AccessToken = "355431986-c4cibrUfhqLB4FixLgdX4OqO47glElUuPdY9faGz";
tokens.AccessTokenSecret = "hD2ykJpUf7kYQ9fBWjS6Oi6ZEPyDhrxNsTiql7Vzsh8";
tokens.ConsumerKey = "qZLf2Yi7pw3neUquwjrg";
tokens.ConsumerSecret = "vVIWxy5A5NhCrjT00tzdYFe21KIe3TAsYiWnjNito";
break;
// 경제
case 2:
tokens.AccessToken = "355441089-6ukgY8pk2FeJOkvpLuy5Miy25sbyI54ApNtfXAta";
tokens.AccessTokenSecret = "ckNs4rqxQD0Ea0QVmXIHpqZmz4WyXCD3BxeRjNeqEG4";
tokens.ConsumerKey = "Iopjaxuu77CtTu9oRlmCsQ";
tokens.ConsumerSecret = "jFzzxHtOnZYQlCWgeF1OB3Ddzfoev9d6oeJBqaYmf8";
break;
// 복지의학
case 3:
tokens.AccessToken = "355449483-NsvsaGdQ8X4AYlzLOjKHhwF7zQlK8usvJOW3SZXZ";
tokens.AccessTokenSecret = "zJGs61E9TbLeBFyED7RpdCbO8jPFN2WSb0t4X11yT8g";
tokens.ConsumerKey = "Glh64NT9P0DBpiEryYhg";
tokens.ConsumerSecret = "gGx3fjd3DLvcrG92aQ9g696JJV4ONemwUQIMZ5l6M";
break;
// 정치
case 4:
tokens.AccessToken = "356327076-dsCfMDar6qzcW4R76j0i13m3MxQCackJJ2IqKB8q";
tokens.AccessTokenSecret = "9NSLjYP7VXb5pPijnx2ZoI3tbzGGu7AV5drli5ZLQQ";
tokens.ConsumerKey = "x2eCHQbxZyy1ETJ1fSQuag";
tokens.ConsumerSecret = "IEgTkmpu2DPhfzRlcSkTKs2fhGjBNChOvhuKzZDmR8";
break;
// 연예오락
case 5:
tokens.AccessToken = "356333815-I6nsBxtG0vswjxiTBWjzJoTvuCbxIR2HV0JfE1R6";
tokens.AccessTokenSecret = "3jVCCAaodyBJTH94lQXidD6bVsPCxZ81OZG7MNcg4";
tokens.ConsumerKey = "NKFHIMwnBulTQqSVCrgig";
tokens.ConsumerSecret = "aMRFvptID3WWiMm23JdPxhGW7aQ0jk2OlgUi0n88PQ";
break;
default: return; break;
}
}
}
}
'2_ 바삭바삭 프로그래밍 > C# and Visual C++' 카테고리의 다른 글
C# - 입출력, 랜덤, 현재시간, 웹페이지 받아오기 및 다운로드, Alt+F4 방지 (0) | 2012.01.07 |
---|---|
C# - MP3 간단하게 재생하기 (mciSendString, winmm.dll) (2) | 2012.01.05 |
C# - MS Kinect SDK를 사용해 보자. 키넥트 개발 첫걸음 (1) | 2011.09.28 |
C# - 드래그로 창 이동, 폼 접기 / 폼 펼치기 / 최소화 (1) | 2011.08.17 |
[C#] 정규표현식 마스터! + 화이트 스페이스 없애기 (1) | 2011.08.05 |