2012-12-27 3 views
0

J'ai fait beaucoup de googling mais je ne trouve pas de tutoriel compréhensible de ASIHttpRequest et API Youtube. Je pose aussi beaucoup de questions sur Stackoverflow et d'autres forums mais personne ne peut aider. J'essaie d'obtenir la liste des vidéos préférées de YouTube. J'ai signe de succès et j'ai obtenu l'accesstoken. Je l'ai mis à l'en-tête de demande avec autorisation clé, mais Youtube renvoie toujours l'erreur:Authentification erreur nécessaire avec ASIHTTPRequest

Respond failed with message: Error Domain=ASIHTTPRequestErrorDomain Code=3 "Authentication needed" UserInfo=0x933b980 {NSLocalizedDescription=Authentication needed}

Voici mes codes:

#define CONNECTION_GET_FAVORITE_LIST @"https://gdata.youtube.com/feeds/api/users/default/favorites" 

- (void) getFavoriteList{ 


    NSURL *url = [NSURL URLWithString:CONNECTION_GET_FAVORITE_LIST]; 
    ASIHTTPRequest *request = [[ASIHTTPRequest alloc] initWithURL:url]; 
    AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate]; 
    [request addRequestHeader:@"Authorization" value:[@" Bearer " stringByAppendingString:<accesstoken goes here>]; 
    request 
    [request startAsynchronous]; 
    [request setCompletionBlock:^{ 
     NSString* respondMessage = [request responseString]; 
     NSLog(@"Respond complete with message: %@",respondMessage); 
    }]; 
    [request setFailedBlock:^{ 
     NSString* respondMessage = [request error]; 
     NSLog(@"Respond failed with message: %@",respondMessage); 
    }]; 
    [request release]; 
} 

MISE À JOUR: lorsque je tente d'utiliser la méthode GET et régler la accesstoken sur le lien comme: https://gdata.youtube.com/feeds/api/users/default/favorites?v=2&access_token=<accesstoken>, youtube jeter l'erreur:

Token invalid - AuthSub token has wrong scope

Error 401

S'il vous plaît me aide à résoudre ce problème. Merci beaucoup

+0

Avez-vous essayé de tester la même requête à partir de la ligne de commande en utilisant curl comme indiqué dans https://developers.google.com/youtube/2.0/developers_guide_protocol_oauth2#OAuth2_Calling_a_Google_API juste pour vérifier si le jeton est valide? – shawnwall

Répondre

1

Fristly ne pas utiliser ASIHTTPRequest utiliser AFNetworking. mais ici, vous n'avez besoin de personne.

Maintenant, votre demande doit authentication and authorization à gdata pour demander d'obtenir feed à youtube.

EDIT: Référez gtm-oauth2 lien.

Référez GData Youtube API Documenttaion lien.