2012-07-16 59 views
0

我設法獲取令牌/令牌密鑰,以便向twitter API發送已識別的請求。 Nethertheless我不管理C++做這樣的請求++使用QOAuth對Twitter API進行已驗證的GET請求

我試圖訪問「http://api.twitter.com/1/followers/ids.json」

我使用此代碼

_oauthInterface = new QOAuth::Interface(this); 
_manager = new QNetworkAccessManager(this); 

_oauthInterface->setConsumerKey(CONSUMER_KEY); 
_oauthInterface->setConsumerSecret(CONSUMER_SECRET_KEY); 

QOAuth::ParamMap params; 
    params.insert("user_id", QString::number(id).toAscii()); 
    params.insert("cursor", cursor.toAscii()); 

QString url("http://api.twitter.com/1/friends/ids.json"); 

QByteArray header = _oauthInterface->createParametersString(url, 
                  QOAuth::GET, 
                  token.toUtf8(), 
                  tokenSecret.toUtf8(), 
                  QOAuth::HMAC_SHA1, 
                  params, 
                  QOAuth::ParseForHeaderArguments); 

QNetworkRequest request; 
if(!params.isEmpty()) 
    url.append(_oauthInterface->inlineParameters(params, QOAuth::ParseForInlineQuery)); 

request.setUrl(url); 
request.setRawHeader("Authorization", header); 

_manager->get(request); 

QObject::connect(_manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(replyHandler(QNetworkReply*))); 

後150請求我得到

"{"error":"Rate limit exceeded. Clients may not make more than 150 requests per hour.","request":"\/1\/followers\/ids.json?cursor=-1&user_id=xxxxxxxxx"}" 

作爲一個答案。我怎麼沒有發現?

回答

0

我有多傻。這個代碼是好的,我只是用錯誤的參數(token/token)而不是(token/token secret)調用了這個函數

請注意,如果訪問令牌無效,Twitter不會通知您