Programming/twitterAPI

twit4cpp - 트위터 Twitter API : 팔로잉/언팔로우(Relationship) 예제

smok95 2011. 4. 6. 17:32
반응형
[Programming/twit4cpp] - twit4cpp - 트위터 Twitter API : Streaming API (UserStreams) 예제
[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 인증 예제


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

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);

	  string
			aToken("access token"),
			aSecret("access token secret");
	  twit.setAccessToken(aToken, aSecret);
      
	  Resource::CFriendships& fs = twit.Friendships;

	  /***
	  *	follow 
	  * 팔로잉 하기
	  */
	  Value::User user;
	  user = fs.Create.get(std::string("smok95"));
	  /* or 
		user = fs.Create.get(114765419);	// user_id
	  */
	  printf("befriended user screen_name:%s\n",user.getScreenName().c_str());

	  /***
	  * unfollow
	  * 언팔로우 하기
	  */
	  user = fs.Destroy.get(std::string("smok95"));
	  /* or
		user = fs.Destroy.get(114765419);	// user_id
	  */
	  printf("unfollowed user screen_name:%s\n", user.getScreenName().c_str());

	  /***
	  * Returns detailed information about the relationship between two users.
	  * 두 사용자간의 관계보기
	  */
	  Value::Relationship rs;
	  rs = fs.Show.get(std::string("jktest00"), std::string("smok95"));
	  printf("isSourceFollowingTarget : %s\n", rs.isSourceFollowingTarget()?"true":"false");


	  /***
	  * Test for the existence of friendship between two users. Will return true if user_a follows user_b, otherwise will return false.
	  * user_a가 user_b를 팔로우하고 있는 경우 true
	  */
	  std::string user_a = "smok95";
	  std::string user_b = "jktest00";
	  Value::Bool result = fs.Exists.get(user_a, user_b);
	  /* or
		bool result = fs.Exists.isUserA_follows_UserB(user_a, user_b);
	  */
	  printf("%s follows %s : %s\n", user_a.c_str(), user_b.c_str(), (bool)result ? "true":"false");

	  /***
	  *	Returns an array of numeric IDs for every user who has a pending request to follow the authenticating user.
	  * 나에게 팔로우 요청을 하여 승인 대기중인 사용자 목록
	  */
	  Value::IDs ids = fs.Incoming.get();
	  printf("Imcoming size : %d\n", ids.size());
	  for(size_t idx=0; idx<ids.size(); idx++)
	  {
		  printf("[%d] userID : %s\n", idx, ids[idx].toString().c_str());
	  }

	  /***
	  * Returns an array of numeric IDs for every protected user for whom the authenticating user has a pending follow request.
	  * 내가 팔로우 요청하여 승인 대기중인 비공개 트위터 사용자 목록
	  */
	  ids = fs.Outgoing.get();
	  printf("Outgoing size : %d\n", ids.size());
	  for(size_t idx=0; idx<ids.size(); idx++)
	  {
		  printf("[%d] userID : %s\n", idx, 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;
}



[ 소스 & 샘플 다운로드 ]
http://code.google.com/p/twit4cpp/downloads/list
반응형