ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • twit4cpp - 트위터 Twitter API : tweets api 사용 예제
    Programming/twitterAPI 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

    반응형
Designed by Tistory.