Programming/twitterAPI
twit4cpp - 트위터 Twitter API : Streaming API (UserStreams) 예제
smok95
2010. 12. 6. 16:59
반응형
[Programming/twit4cpp] - twit4cpp - 트위터 Twitter API : tweets api 사용 예제
[Programming/twit4cpp] - twit4cpp - 트위터 Twitter API : 다이렉트메시지(DirectMessages) 예제
[Programming/twit4cpp] - twit4cpp - 트위터 Twitter API : 타임라인(Timeline) 가져오기 예제
[Programming/twit4cpp] - twit4cpp - 트위터 Twitter API : XAuth 인증 예제
[Programming/twit4cpp] - twit4cpp - 트위터 Twitter API : OAuth 인증 예제
[Programming/twit4cpp] - twit4cpp - 트위터 Twitter API : 다이렉트메시지(DirectMessages) 예제
[Programming/twit4cpp] - twit4cpp - 트위터 Twitter API : 타임라인(Timeline) 가져오기 예제
[Programming/twit4cpp] - twit4cpp - 트위터 Twitter API : XAuth 인증 예제
[Programming/twit4cpp] - twit4cpp - 트위터 Twitter API : OAuth 인증 예제
#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; // IUserStream 인터페이스를 상속받아 스트리밍 데이터 처리 클래스 구현 class UserStreamImpl:public IUserStream { virtual void onFriendList(Value::IDs userIDs) { puts(__FUNCTION__); for(size_t i=0; i<userIDs.size(); i++) { puts(userIDs[i].toString().c_str()); } } virtual void onStatus(Value::Status status) { puts(__FUNCTION__); puts(status.getUser()->getScreenName().c_str()); wprintf(L"text : %s\n", status.getText().c_str()); } virtual void onDeleteStatus (Value::UniqueID userId, Value::UniqueID statusId) { puts(__FUNCTION__); printf("userid:%s\n", userId.toString().c_str()); printf("statusid:%s\n", statusId.toString().c_str()); } virtual void onDeleteDirectMessage (Value::UniqueID userId, Value::UniqueID dmId) { puts(__FUNCTION__); printf("userid:%s\n", userId.toString().c_str()); printf("dmid:%s\n", dmId.toString().c_str()); } virtual void onDirectMessage(Value::DirectMessage dm) { puts(__FUNCTION__); printf("recipient:%s\n",dm.getRecipientScreenName().c_str()); printf("sender:%s\n", dm.getSenderScreenName().c_str()); } virtual void onUserUpdate(Value::User user) { puts(__FUNCTION__); printf("userId:%s\n", user.getId().toString().c_str()); } virtual void onFollow(Value::User source, Value::User target) { puts(__FUNCTION__); printf("source : %s\n", source.getScreenName().c_str()); printf("target : %s\n", target.getScreenName().c_str()); } virtual void onUnfollow(Value::User source, Value::User target) { puts(__FUNCTION__); printf("source : %s\n", source.getScreenName().c_str()); printf("target : %s\n", target.getScreenName().c_str()); } virtual void onBlock (Value::User source, Value::User target) { puts(__FUNCTION__); printf("source:%s\n", source.getScreenName().c_str()); printf("target:%s\n", target.getScreenName().c_str()); } virtual void onUnblock (Value::User source, Value::User target) { puts(__FUNCTION__); printf("source:%s\n", source.getScreenName().c_str()); printf("target:%s\n", target.getScreenName().c_str()); } virtual void onFavorite(Value::User source, Value::User target, Value::Status targetObject) { puts(__FUNCTION__); printf("source:%s\n", source.getScreenName().c_str()); printf("target:%s\n", target.getScreenName().c_str()); printf("object:%s\n", targetObject.getId().toString().c_str()); } virtual void onUnfavorite(Value::User source, Value::User target, Value::Status targetObject) { puts(__FUNCTION__); printf("source:%s\n", source.getScreenName().c_str()); printf("target:%s\n", target.getScreenName().c_str()); printf("object:%s\n", targetObject.getId().toString().c_str()); } virtual void onListMemberAdded(Value::User owner, Value::List targetObject) { puts(__FUNCTION__); printf("owner:%s\n", owner.getScreenName().c_str()); printf("fullname:%s\n", targetObject.getFullName().c_str()); } virtual void onListMemberRemoved (Value::User owner, Value::List targetObject) { puts(__FUNCTION__); printf("owner:%s\n", owner.getScreenName().c_str()); printf("fullname:%s\n", targetObject.getFullName().c_str()); } virtual void onListDestroyed (Value::User owner,Value::List targetObject) { puts(__FUNCTION__); printf("owner:%s\n", owner.getScreenName().c_str()); printf("fullname:%s\n", targetObject.getFullName().c_str()); } virtual void onListCreated (Value::User owner, Value::List targetObject) { puts(__FUNCTION__); printf("owner:%s\n", owner.getScreenName().c_str()); printf("object:%s\n", targetObject.getFullName().c_str()); } virtual void onListUserSubscribed (Value::User source, Value::User target, Value::List targetObject) { puts(__FUNCTION__); printf("source:%s\n", source.getScreenName().c_str()); printf("target:%s\n", target.getScreenName().c_str()); printf("object:%s\n", targetObject.getFullName().c_str()); } virtual void onListUserUnsubscribed (Value::User source, Value::User target, Value::List targetObject) { puts(__FUNCTION__); printf("source:%s\n", source.getScreenName().c_str()); printf("target:%s\n", target.getScreenName().c_str()); printf("object:%s\n", targetObject.getFullName().c_str()); } }; int main(int argc, char* argv[]) { /* twit4cpp Sample Application */ try { string customerKey("2rBtCAh5o10zMlS2FbRYAA"), customerSecert("MoZvHvDGbi6zoPu6Q1SZHsalGynP8qWt9dlB1NKlvQg"); UserStreamImpl us; Twitter twit(customerKey, customerSecert); twit.setAccessToken(string("access_token"),string("access_token_secret")); Error err; if(!twit.UserStream.start(us, err)) { printf("error userstream : %s\n", err.getMessage().c_str()); } while(1) { // do something... Sleep(10000); // twit.UserStream.stop(); } } catch(const Error& e) { printf("code : %d\n", e.getCode()); printf("message : %s\n", e.getMessage().c_str()); } return 0; }
소스 & 샘플 다운로드
반응형