IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Objective-C Discussion :

connexion vers une API


Sujet :

Objective-C

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2014
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2014
    Messages : 17
    Points : 25
    Points
    25
    Par défaut connexion vers une API
    Bonjour,

    Je suis actuellement en stage en entreprise et je suis en charge de developer une application iOS 7, jusque la je me suis bien débrouillé mais là je sèche, cela fait 1 semaine que je suis bloqué et la fin de mon stage avance a grand pas !!!

    L'utilisateur de mon appli doit ce connecter a un site http://factomos.com via (je pense ) cette API https://factomos.com/api/test/ mais je ne vois vraiment pas comment faire !!!!

    Apres de nombreuse recherche je me suis orienté vers l'outils AFNetworking :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    - (IBAction)logButton:(UIButton *)sender
    {
        NSString *username = loginTextField.text;
        NSString *password = pwdTextField.text;
     
        NSString *urlString = @"https://factomos.com/api/test/";
        AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
        manager.responseSerializer = [AFHTTPResponseSerializer serializer];
        NSDictionary *parameters = @{@"username": username, @"password": password};
        [manager POST:urlString parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {
     
            if ([operation.responseString rangeOfString:@"You are logged in as"].location == NSNotFound) {
                NSLog(@"Bad login.");
            } else {
                NSLog(@"Login successful!");
            }
        } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
            NSLog(@"Error: %@", error);
        }];
     
     
    }

    mais je sais méme pas si c'est la bonne solution car je comprend vraiment pas le truc

    merci en tout cas je vos réponse merci encore

  2. #2
    Membre habitué
    Homme Profil pro
    Etudiant
    Inscrit en
    Février 2010
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Février 2010
    Messages : 115
    Points : 139
    Points
    139
    Par défaut
    Oui tu peux utiliser les frameworks Restkit (haut niveau) ou AFNetworking (bas niveau). Perso je ne les utilise pas car comme tu as pu voir c'est une vrai galère à utiliser
    Jte copie colle un exemple de stackoverflow avec des commentaires (non testé mais de mémoire ça à l'air bon)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    // une requete vers l'api = une NSOperation, ça permet de matriser l'ordre des envois. Ca permet par exemple de "chainer" des requêtes
    AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; 
    NSDictionary *params = @{@"user[height]": height, @"user[weight]": weight}; // les paramètres du POST à mettre dans un dictionnaire (clef = valeur)
     
    // on demande au manager de faire une requete POST vers l'adresse voulue avec les paramètres du POST
    [manager POST:@"https://mysite.com/myobject" parameters:params 
    success:^(AFHTTPRequestOperation *operation, id responseObject) {  // Ton opération est asynchrone, quand elle se termine tu vas rentrer dans un des deux blocs (success ou failure)
        NSLog(@"JSON: %@", responseObject); // ici tu rentre dans success, en général le serveur te répond avec un format JSON qui se trouvera dans responseObject
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        NSLog(@"Error: %@", error);  //  // Ta requête à échouée, tu vas probablement trouver le code d'erreur weeb dans error (404, 502..)
    }];

Discussions similaires

  1. [XL-2007] Creer une connexion vers une base SQL
    Par bigfoot75 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 17/03/2010, 19h31
  2. [SSIS] [2K5] Connexion vers une base SQL2008
    Par geof dans le forum SSIS
    Réponses: 0
    Dernier message: 30/06/2009, 16h29
  3. Réponses: 0
    Dernier message: 08/06/2009, 19h28
  4. Connexion vers une BD oracle
    Par aldapal dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 07/02/2008, 14h30
  5. [Réseau] connexion vers une machine derriere un routeur
    Par fantomasmusic dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 18/10/2005, 13h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo