我目前正在从xml for Twitters new API v1.1将我的应用程序更新为.json。我目前有.json工作,可以登录,给我时间表,提及,但当试图获得直接消息,列表或用户信息时,它似乎正在寻找" cookies"但它没有存储。
这是twitter在尝试进行简单的GET用户/节目调用时收到的错误消息:
Twitter request failed: 08AD12D3-0044-49AB-8D3D-4E61D8398550 with error:Error Domain=HTTP
Code=400 "The operation couldn’t be completed. (HTTP error 400.)" UserInfo=0xce90540
{response=<NSHTTPURLResponse: 0xce94bd0> { URL:
https://api.twitter.com/1.1/users/show.json?screen_name=FreeAppl3 } { status code: 400,
headers {
"Content-Encoding" = gzip;
"Content-Type" = "application/json; charset=utf-8";
Date = "Fri, 14 Jun 2013 09:25:40 UTC";
Server = tfe;
"Set-Cookie" = "guest_id=v1%3A137120194019582695; Domain=.twitter.com; Path=/;
Expires=Sun, 14-Jun-2015 09:25:40 UTC";
"Strict-Transport-Security" = "max-age=631138519";
"Transfer-Encoding" = Identity;
} }, body={"errors":[{"message":"Bad Authentication data","code":215}]}hjD4nzoeOUaTQ1Q%3D}
当我打电话给[twitterEngine isAuthorized];返回YES,如果我检查我的访问令牌字符串,我会收到初始登录时存储的内容。我搜索并搜索了正在发生的事情或如何解决问题,但我只是被困住了,任何帮助都会非常感激。
Twitter API - https://dev.twitter.com/docs/api/1.1/get/users/show Twitter错误代码 - https://dev.twitter.com/docs/error-codes-responses
答案 0 :(得分:2)
请参考 FHSTwitterEngine您可以使用新的FHSTwitterEngine,如果您在没有进行身份验证的情况下请求此方法,则会删除用户状态...您需要将消费者密钥和令牌与screen_name一起发送..
在FHSTwitterEngine
//get username pass to method. In Dictionary you can get all info
NSString *username = [[FHSTwitterEngine sharedEngine]loggedInUsername];
NSDictionary *data=[[FHSTwitterEngine sharedEngine]getUserProfile:username];
// method to get all user info
-(id)getUserProfile:(NSString *)username
{
if (username.length == 0) {
return getBadRequestError();
}
NSURL *baseURL = [NSURL URLWithString:url_users_show];
OAMutableURLRequest *request = [OAMutableURLRequest requestWithURL:baseURL consumer:self.consumer token:self.accessToken];
OARequestParameter *usernameP = [OARequestParameter requestParameterWithName:@"screen_name" value:username];
NSArray *params = [NSArray arrayWithObjects:usernameP, nil];
id userShowReturn = [self sendGETRequest:request withParameters:params];
return userShowReturn;
}