2013-06-14 5 views
1

Je suis en train de mettre à jour mon application vers .json à partir de xml pour la nouvelle API v1.1 de Twitters. J'ai actuellement .json travail et peut se connecter, obtenir moi les délais, mentions, mais en essayant d'obtenir des messages directs, des listes, ou des informations d'utilisateur il semble qu'il cherche des «cookies» mais il n'est pas stocké.Mise à jour de MGTwitterEngine vers la nouvelle API Twitter v1.1

Tel est le message d'erreur reçu par Twitter en essayant de faire un simple utilisateur GET/show appel:

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} 

Quand j'appelle [twitterEngine isAuthorized]; renvoie YES et si je vérifie ma chaîne de jetons d'accès, je reçois ce qui a été stocké lors de la connexion initiale. J'ai cherché et cherché ce qui se passe ou comment résoudre les problèmes, mais je suis simplement coincé et toute aide serait grandement appréciée.

API Twitter - https://dev.twitter.com/docs/api/1.1/get/users/show Twitter Codes d'erreur - https://dev.twitter.com/docs/error-codes-responses

Répondre

2

se réfèrent FHSTwitterEngine vous pouvez utiliser nouvellement FHSTwitterEngine et si vous demandez cette méthode sans autenticating, le statut de l'utilisateur est supprimé ... vous devez envoyer la clé à la consommation et le jeton ainsi screen_name ..

Dans 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; 
} 
+0

Merci, je regardais cela avant, mais on ne m'a pas sûr si vous allez avec un tout nouveau moteur aiderait. À première vue, c'est un moteur bien meilleur et déjà prêt pour la version 1.1 – FreeAppl3

Questions connexes