2011-12-15 182 views
1

我已將twitter api集成到我的應用程序中。在我的應用程序中,我使用oauth庫獲得了oauth_token和oauth_secre_key。不,我想發佈新的推文。我如何發送帶有授權標頭的http請求。我的問題是,我有一個從Twitter API發送消息的URL是:-https://api.twitter.com/1/statuses/update.json?status = Maybe%20he%27ll%20finally%20find%20his% 。20keys%20%23peterfalk & trim_user =真& include_entities = true,但是當我打開我的瀏覽器,然後我得到這個錯誤: -如何通過twitter api發佈推文?

{"error":"Could not authenticate you.","request":"/1/statuses/update.json?status=Maybe%20he%27ll%20finally%20find%20his%20keys.%20%23peterfalk&trim_user=true&include_entities=true"}

什麼是修復這個錯誤的方式?我如何在我的請求中添加授權標題?

感謝在進步......

回答

1

我得到這個錯誤,因爲我還沒有設置參數正確的格式。現在我使用這個代碼,工作正常。

NSString *trimmedText=[NSString stringWithFormat:@"%@",txt_comment.text];

NSURL *url=[NSURL URLWithString: @"https://api.twitter.com/1/statuses/update.xml"]; 
NSMutableDictionary *params = [NSMutableDictionary dictionaryWithCapacity:0]; 
[params setObject:trimmedText forKey:@"status"]; 
NSString *body = [self _queryStringWithBase:nil parameters:params prefixed:NO]; 

NSData* requestData = [body dataUsingEncoding: NSUTF8StringEncoding]; 


OAMutableURLRequest *request = [[[OAMutableURLRequest alloc] initWithURL:url consumer: appDelegate.consumer token: appDelegate.accessToken realm: nil signatureProvider: nil] autorelease]; 

[request setHTTPMethod:@"POST"]; 
[request setHTTPBody:requestData]; 
OADataFetcher *fetcher = [[OADataFetcher alloc] init]; 

[fetcher fetchDataWithRequest:request 
        delegate:self 
      didFinishSelector:@selector(accessTokenTicket_post:didFinishWithData:) 
       didFailSelector:@selector(accessTokenTicket:didFailWithError:)];