[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