아직 여기 Tistory는 API를 제공하지 않지만, 대부분의 블로그 서비스는 블로그 API를 제공한다. 이런 API를 써서 꼭 블로그에 접속하지 않고도 블로그의 포스트 리스트를 가져온다거나, 블로그를 작성하거나 할 수 있다. (이를테면 MS Word 2007에서는 Blogger, MSN Space 등의 블로그에 Post할 수 있는 메뉴를 제공한다) 이런 API 중에서 대표적인 것이 Blogger ATOM API와 RFC MetaWebLog API이다.
Blogger Atom API에 대한 문서는 다음을 참조하면 된다 -> http://code.blogger.com/archives/atom-docs.html
다음 샘플은 Blogger Atom API를 써서 자신의 Blogger Blog 목록을 가져오는 C# 샘플이다. 설명은 코드의 주석으로...^^;;
//WebClient 클래스는 간단하게 인터넷 익스플로러라고 생각하면 된다.
//즉, 프로그램 내부에서 인터넷 페이지를 열거나 데이터를 post/get 하는 등의 일을 할 수 있는 객체이다.
//Blogger ATOM API는 XML-RPC를 사용하기 때문에 이 객체를 사용해서 데이터를 가져오거나 쓸 수 있다.
System.Net.WebClient oClient = new System.Net.WebClient();
//Content-type은 반드시 application-xml로 설정해야 한다.
oClient.Headers.Add("Content-type", "application/xml");
//ATOM API는 HTTP SSL 기본 인증을 사용한다.
//기본 인증 token은 아이디:비밀번호를 Base64로 인코딩한 값이 사용된다.
//아래 코드 중 Base64Encode라는 함수는 내 이전 글(http://kkongchi.net/1602055)을 참조한다
oClient.Headers.Add("Authorization", "BASIC " + this.Base64Encode("YourID:YourPassword", System.Text.Encoding.UTF8));
//자신의 블로그 리스트를 읽어와서 TextBox에 넣는다.
string s = oClient.DownloadString("http://www.blogger.com/atom/");
this.textBox2.Text = s;
이 코드를 통해서 얻어진 결과는 다음과 같다..(내 ID/PW로 쿼리한 결과)
<feed xmlns="http://purl.org/atom/ns#">
<userid title="kkongchi's Blog" xmlns="https://www.blogger.com/atom/23327098" type="application/atom+xml" rel="service.feed">
<link title="kkongchi's Blog" href="http://kkongchi.blogspot.com" type="text/html" rel="alternate">
<link title="kkongchi's GOOGLE Blog" href="https://www.blogger.com/atom/28487731" type="application/atom+xml" rel="service.post">
<link title="kkongchi's GOOGLE Blog" href="https://www.blogger.com/atom/28487731" type="application/atom+xml" rel="service.feed">
<link title="kkongchi's GOOGLE Blog" href="http://kkongchigle.blogspot.com" type="text/html" rel="alternate">
</feed>
Blogger Atom API에 대한 문서는 다음을 참조하면 된다 -> http://code.blogger.com/archives/atom-docs.html
다음 샘플은 Blogger Atom API를 써서 자신의 Blogger Blog 목록을 가져오는 C# 샘플이다. 설명은 코드의 주석으로...^^;;
//WebClient 클래스는 간단하게 인터넷 익스플로러라고 생각하면 된다.
//즉, 프로그램 내부에서 인터넷 페이지를 열거나 데이터를 post/get 하는 등의 일을 할 수 있는 객체이다.
//Blogger ATOM API는 XML-RPC를 사용하기 때문에 이 객체를 사용해서 데이터를 가져오거나 쓸 수 있다.
System.Net.WebClient oClient = new System.Net.WebClient();
//Content-type은 반드시 application-xml로 설정해야 한다.
oClient.Headers.Add("Content-type", "application/xml");
//ATOM API는 HTTP SSL 기본 인증을 사용한다.
//기본 인증 token은 아이디:비밀번호를 Base64로 인코딩한 값이 사용된다.
//아래 코드 중 Base64Encode라는 함수는 내 이전 글(http://kkongchi.net/1602055)을 참조한다
oClient.Headers.Add("Authorization", "BASIC " + this.Base64Encode("YourID:YourPassword", System.Text.Encoding.UTF8));
//자신의 블로그 리스트를 읽어와서 TextBox에 넣는다.
string s = oClient.DownloadString("http://www.blogger.com/atom/");
this.textBox2.Text = s;
이 코드를 통해서 얻어진 결과는 다음과 같다..(내 ID/PW로 쿼리한 결과)
<feed xmlns="http://purl.org/atom/ns#">
<userid title="kkongchi's Blog" xmlns="https://www.blogger.com/atom/23327098" type="application/atom+xml" rel="service.feed">
<link title="kkongchi's Blog" href="http://kkongchi.blogspot.com" type="text/html" rel="alternate">
<link title="kkongchi's GOOGLE Blog" href="https://www.blogger.com/atom/28487731" type="application/atom+xml" rel="service.post">
<link title="kkongchi's GOOGLE Blog" href="https://www.blogger.com/atom/28487731" type="application/atom+xml" rel="service.feed">
<link title="kkongchi's GOOGLE Blog" href="http://kkongchigle.blogspot.com" type="text/html" rel="alternate">
</feed>
'C# & VB.NET' 카테고리의 다른 글
[Tip]현재 메소드의 호출자 정보를 알고 싶을 때... (4) | 2007.02.26 |
---|---|
[Article]Singleton Pattern In C# (2) | 2007.02.12 |
[Tip]String 체크(C#) (0) | 2006.09.09 |
[Article]LogonUser API에서 LogonType 파라미터 (0) | 2006.07.15 |
[Tip]Reflection API를 사용해서, Assembly로부터 클래스를 로드하기(C#) (0) | 2006.06.21 |