2011-05-13 59 views
1

我需要訪問Twitter API以進行一個快速項目,我正在研究並且不希望太緊張地學習API我認爲twitCurl將是理想的解決方案。使用twitCurl如何將參數傳遞給Twitter網址

目前,我所需要做的就是獲取Twitter用戶的最新提及,其中twitCurl可以非常輕鬆地完成,並將所有oAuth的東西用於討價還價。

但我現在想在我調用API時使用'since_id'參數。我看不到用twitCurl來做到這一點,實際上似乎沒有辦法將參數傳遞給許多twitCurl調用。我是否錯過了一些東西,或者這是從twitCurl嚴重缺乏的東西?

如果這是不可能的,那麼可以有人建議和替代Twitter API的C++包裝。

感謝您的閱讀。

回答

2

我不喜歡回答我自己的問題,但我已經修復它,以防萬一任何人有同樣的問題,我會在這裏記錄它。

我修改了twitCurl代碼以添加一個額外的參數,一個字符串來表示'since_id'。這真的很簡單,我已經將修改提交給了twitCurl開發人員。這裏是我的變化,如果你不能等待:

 
Index: twitcurl.cpp 
=================================================================== 
--- twitcurl.cpp  (revision 25) 
+++ twitcurl.cpp  (working copy) 
@@ -474,19 +474,28 @@ 
* 
* @description: method to get mentions 
* 
-* @input: none 
+* @input: sinceId - since_id in string format 
* 
* @output: true if GET is success, otherwise false. This does not 
check http 
*   response by twitter. Use getLastWebResponse() for that. 
* 
*--*/ 
-bool twitCurl::mentionsGet() 
+bool twitCurl::mentionsGet(std::string sinceId) 
{ 
    bool retVal = false; 
    if(isCurlInit()) 
    { 
+  /* Prepare URL */ 
+  std::string buildUrl(""); 
+  buildUrl = twitterDefaults::TWITCURL_MENTIONS_URL; 
+  if(sinceId.length()) 
+  { 
+ 
buildUrl.append(twitCurlDefaults::TWITCURL_SINCEID.c_str()); 
+   buildUrl.append(sinceId.c_str()); 
+  } 
+ 
     /* Perform GET */ 
-  retVal = 
performGet(twitterDefaults::TWITCURL_MENTIONS_URL); 
+  retVal = performGet(buildUrl); 
    } 
    return retVal; 
} 
Index: twitcurl.h 
=================================================================== 
--- twitcurl.h (revision 25) 
+++ twitcurl.h (working copy) 
@@ -24,6 +24,7 @@ 
    const std::string TWITCURL_EXTENSIONFORMAT = ".xml"; 
    const std::string TWITCURL_TARGETSCREENNAME = "? 
target_screen_name="; 
    const std::string TWITCURL_TARGETUSERID = "?target_id="; 
+ const std::string TWITCURL_SINCEID = "?since_id="; 
}; 
/* Default twitter URLs */ 
@@ -123,7 +124,7 @@ 
    bool timelineFriendsGet(); 
    bool timelineUserGet(std::string userInfo = "" /* in */, bool 
isUserId = false /* in */); 
    bool featuredUsersGet(); 
- bool mentionsGet(); 
+ bool mentionsGet(std::string sinceId = ""); 
    /* Twitter user APIs */ 
    bool userGet(std::string& userInfo /* in */, bool isUserId = 
false /* in */);