Programming/twitterAPI
twit4cpp - 트위터 Twitter API : OAuth 인증 예제
smok95
2010. 10. 27. 00:58
반응형
[Programming/twit4cpp] - twit4cpp - Twitter API : XAuth 인증 예제
[Programming/twit4cpp] - twit4cpp - 트위터 Twitter API : 타임라인(Timeline) 가져오기 예제
[Programming/twit4cpp] - twit4cpp - 트위터 Twitter API : 다이렉트메시지(DirectMessages) 예제
[Programming/twit4cpp] - twit4cpp - 트위터 Twitter API : 타임라인(Timeline) 가져오기 예제
[Programming/twit4cpp] - twit4cpp - 트위터 Twitter API : 다이렉트메시지(DirectMessages) 예제
간단히 생각했었는데 라이브러리를 만든다는게 쉽지가 않네요^^
전체적으로 완성되면 공개할까 생각했었는데 너무 오래걸릴것 같아서 조금씩 공개를 하도록 하겠습니다.
일단 첫번째로 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; int main(int argc, char* argv[]) { /* twit4cpp Sample Application */ try { string customerKey("2rBtCAh5o10zMlS2FbRYAA"), customerSecert("MoZvHvDGbi6zoPu6Q1SZHsalGynP8qWt9dlB1NKlvQg"); Twitter twit(customerKey, customerSecert); /*** * 1. 사용자 인증 URL 가져오기 */ string authUrl = twit.OAuth.getUserAuthorizeUrl(); printf("url :\n%s\n", authUrl.c_str()); /*** * 2. 사용자가 해당 url로 이동하여 직접 인증후 받은 pin번호 입력 */ char pin[10]={0,}; printf("Enter PIN number : "); scanf("%s", pin); /*** * 3. access token 요청 */ string aToken, aSecret; string screenName; Value::UniqueID userId; screenName = twit.OAuth.getAccessToken(pin, aToken, aSecret, &userId); printf("ScreenName : %s\n", screenName.c_str()); printf("userId : %s\n", userId.toString().c_str()); printf("AccessToken : %s\n", aToken.c_str()); printf("AccessTokenSecret : %s\n", aSecret.c_str()); } catch(const Error& e) { printf("code : %d\n", e.getCode()); printf("message : %s\n", e.getMessage().c_str()); } return 0; }
먼저 Twit 이라는 네임스페이스로 모든 클래스들을 묶었습니다.
그리고 안에 Twitter라는 클래스가 있고 해당 클래스를 통해 모든 트위터 기능을 사용하는 구조입니다.
Twitter twit(customerKey, customerSecret);
Twitter 객체 생성시 customer key와 customer secret값을 넘겨줍니다.
string authUrl = twit.OAuth.getUserAuthorizeUrl();
string authUrl = twit.OAuth.getUserAuthorizeUrl();
Twitter클래스내의 OAuth객체내의 getUserAuthorizeUrl함수를 통해 사용자 인증 url을 가져옵니다.
해당 함수가 리턴한 url로 사용자가 직접 인증을 하도록 해야합니다.
string aToken, aSecret;
string screenName;
Value::UniqueID userId;
screenName = twit.OAuth.getAccessToken(pin, aToken, aSecret, &userId);
getAccessToken함수를 통해 access token을 가져옵니다.
pin : 사용자인증후 트위터에서 리턴한 pin번호
pin : 사용자인증후 트위터에서 리턴한 pin번호
aToken : 트위터로부터 받게될 access token값을 저장할 std::string변수
aSecret : 트위터로부터 받게될 access token secret값을 저장할 std::string변수
userId : access token에 해당하는 사용자의 id값이 저장될 UniqueID변수
먼저 첫번째 인자를 제외한 나머지 3개의 인자는 모두 리턴값입니다.
그리고 getAccessToken의 리턴값은 screen name (사용자id)입니다.
정리하자면 Twitter 객체를 생성한후 OAuth.getUserAuthorizeUrl 로 사용자 인증URL을 가져오고
해당 URL로 사용자가 직접인증후 한후 받은 pin번호를 OAuth.getAccessToken에 넘기면 최종적으로 access token를 획득하게 됩니다.
음.. 너무 두서 없고 내용을 부실하게 적었네요.. 나중에 다시 정리를 하도록 하겠습니다.
반응형