Programming/twitterAPI

twit4cpp - 트위터 Twitter API : tweets api 사용 예제

smok95 2010. 11. 16. 23:06
반응형
[Programming/twit4cpp] - twit4cpp - 트위터 Twitter API : OAuth 인증 예제
[Programming/twit4cpp] - twit4cpp - 트위터 Twitter API : XAuth 인증 예제
[Programming/twit4cpp] - twit4cpp - 트위터 Twitter API : 타임라인(Timeline) 가져오기 예제
[Programming/twit4cpp] - twit4cpp - 트위터 Twitter API : 다이렉트메시지(DirectMessages) 예제



#include <twit/Twitter.h>
#include <stdio.h>

#if defined(WIN32)||defined(_WIN32)
#  if _DEBUG
#     pragma comment(lib,"../../../lib/twit4cppd.lib")
#  else
#     pragma comment(lib, "../../lib/twit4cpp.lib")
#  endif
#endif

using namespace std;
using namespace Twit;
int main(int argc, char* argv[])
{
   /* twit4cpp Sample Application */
   try
   {
      string
         customerKey("2rBtCAh5o10zMlS2FbRYAA"),
         customerSecert("MoZvHvDGbi6zoPu6Q1SZHsalGynP8qWt9dlB1NKlvQg");

      string
		  aToken("access token"),
		  aSecret("access token secret");

      Twitter twit(customerKey, customerSecert);
      twit.setAccessToken(aToken, aSecret);
      
      Resource::CTweets& tweets = twit.Tweets;

     Value::UniqueID statusId;
     /***
      *	트윗 남기기( 글 쓰기 )
      */     
     if(tweets.Update.request(L"쥐는 살찌고, 사람은 굶는다."))
     {
        puts("update success");
        Value::Status& status = tweets.Update.value();
        statusId = status.getId();
        printf("status ID : %s\n", statusId.toString().c_str());
     }
     else
     {
        const Error& e = tweets.Update.getError();
        printf("update error :[%d]%s\n", e.getCode(), e.getMessage().c_str());
     }

     /***
      *	특정 트윗 가져오기
      */
     Value::Status status = tweets.Show.get(statusId);
     printf("statusID : %s\n",status.getId().toString().c_str());
     printf("create at : %s\n", status.getCreatedAt().toString().c_str());
     printf("retweet count : %d\n", status.getRetweetCount());
     wprintf(L"text : %s\n", status.getText().c_str());
     printf("screen name : %s\n", status.getUser()->getScreenName().c_str());
     printf("followers count : %d\n",status.getUser()->getFollowersCount());
     printf("friends count : %d\n", status.getUser()->getFriendsCount());

     /***
      *	트윗 삭제
      */
     if( tweets.Destroy.request(statusId))
     {
         puts("destroy success");
         Value::Status& v = tweets.Destroy.value();
         printf("statusID : %s\n", v.getId().toString().c_str());
     }
     else
     {
        const Error& e = tweets.Destroy.getError();
        printf("destroy error :[%d]%s\n", e.getCode(), e.getMessage().c_str());
     }

     /***
      *	리트윗 하기 ( RT )
      */
     /* 1234는 트위터 창립자의 트윗들중 한 트윗의 statusID 임. */
     if(tweets.Retweet.request(1234))
     {
         puts("retweet success");
         Value::Status& v = tweets.Retweet.value();
         printf("statusID : %s\n", v.getId().toString().c_str());
     }
     else
     {
         const Error& e = tweets.Retweet.getError();
         printf("retweet error : [%d]%s\n", e.getCode(), e.getMessage().c_str());
     }

     /***
      *	특정 트윗을 리트윗한 트윗들 가져오기
      */
     Value::Statuses& statuses = tweets.Retweets.get(1234);

     for(size_t idx=0; idx<statuses.size(); idx++)
     {
        Value::Status& s = statuses[idx];
        printf("statusID : %s\n", s.getId().toString().c_str());
        wprintf(L"text : %s\n", s.getText().c_str());
        printf("screen name : %s\n", s.getUser()->getScreenName().c_str());
     }
     
     /***
      *	특정 트윗을 리트윗한 사용자정보 가져오기
      */
     Value::Users& users = tweets.RetweetedBy.get("1234");
     for(size_t idx=0; idx<users.size(); idx++)
     {
        Value::User& u = users[idx];
        printf("created at : %s\n", u.getCreatedAt().toString().c_str());
        wprintf(L"description : %s\n", u.getDescription().c_str());
        printf("userID : %s\n", u.getId().toString().c_str());
        printf("screen name : %s\n", u.getScreenName().c_str());
     }

     /***
      *	특정 트윗을 리트윗한 사용자ID 가져오기
      */
     Value::IDs& ids = tweets.RetweetedByIDs.get("1234");
     for(size_t idx=0; idx < ids.size(); idx++)
     {
        printf("userID : %s\n", ids[idx].toString().c_str());
     }
   }
   catch(const Error& e)
   {
      printf("code : %d\n", e.getCode());
      printf("message : %s\n", e.getMessage().c_str());
   }   
	return 0;
}

* twit4cpp sample
* twit4cpp source

반응형