2011-12-15 184 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:)];