2013-07-02 168 views
0

我在我的应用程序中使用MSTwitterEngine,使用twitter api更新到v1.1,我无法获取用户信息,关注者列表和发送直接消息。如何通过新的Twitter API获取数据1.1 url(https://api.twitter.com/1.1/)在iPhone SDK中?

我试图调用新的api url,但得到错误的身份验证作为回应。

请参考下面片段: -

价: - https://dev.twitter.com/docs/api/1.1/get/followers/list

NSString *strUrl = [NSString stringWithFormat:@"https://api.twitter.com/1.1/followers/list.json?cursor=-1&screen_name=%@",strUserName]; 


NSURL *url=[NSURL URLWithString:[strUrl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; 

NSMutableURLRequest *mRequest = [NSMutableURLRequest requestWithURL:url]; 

[mRequest setValue:@"application/json" forHTTPHeaderField:@"content-type"]; 
[mRequest setHTTPMethod:@"POST"]; 

NSURLResponse *response = nil; 
NSError *error = nil; 
NSData *responseData1 = [NSURLConnection sendSynchronousRequest:mRequest returningResponse:&response error:&error]; 
if (error!=nil) { 


} 
NSString *responseString = [[NSString alloc]initWithData:responseData1 encoding:NSUTF8StringEncoding]; 
SBJSON *json=[SBJSON new]; 
NSDictionary *responseDic=[json objectWithString:responseString error:&error]; 

Resposne: - { “错误”:[{ “消息”: “坏的认证数据”, “代码”:215 }]}

回答

0

新的twitter API需要登录才能从twitter获取数据,因为他们在文档中提到需要进行身份验证才能执行任何与Twitter相关的功能。

所以现在做的任何功能任你应该登录使用OAuth或Twitter框架

+0

我使用twitter帐户登录并获取身份验证令牌。我无法发送登录验证数据,我认为我错过了一些。如何发送认证代码或与请求的东西,Twitter知道这个URL来自认证用户? –

0

你上面的代码是好的,但只有一点是,将选定的Twitter帐户,所以做这样的,

NSURL *url = [NSURL URLWithString:@"https://api.twitter.com/1.1/followers/ids.json"]; 
NSMutableDictionary *parameters = [[NSMutableDictionary alloc] init]; 
[parameters setObject:your_user_id forKey:@"user_id"]; 
[parameters setObject:@"-1" forKey:@"cursor"]; 

TWRequest *request = [[TWRequest alloc] initWithURL:url parameters:parameters requestMethod:TWRequestMethodGET]; 
[request setAccount:your_twitter_account]; 
[request performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error) 
{ 
    if (responseData) { 

     NSError *error = nil; 

     NSDictionary* dict = [NSJSONSerialization JSONObjectWithData:responseData options:NSJSONReadingMutableLeaves error:&error]; 
     if([dict objectForKey:@"error"]!=nil) 
     { 

     } 
     else 
     { 

     } 
    } 
}]; 
[parameters release]; 
[request release]; 

这是为我工作..希望它会帮助你..

+0

我没有TWRequest类,你有一些链接来获得这个类? 它将与MGTwitterEngine一起工作吗? –

+0

只需添加'Twitter.framework'。是的,它将与MGTwitterEngine一起使用。 – Venkat

+0

我的应用程序有最低版本的ios 4.3,它已准备好上传应用程序商店,但由于叽叽喳喳我stucked。 –