2010-09-29 1 views
0

La récupération de http://graph.facebook.com/514417 à partir de l'API Facebook Graph me donne le NSString @"http://www.facebook.com/mattdipasquale". Comment extraire juste mattdipasquale à chaque fois? Puis-je supposer que le lien sera le même format à chaque fois? Dans ce cas, je pouvais faire:Objective-C: nom d'utilisateur Facebook à partir du lien renvoyé par l'appel de l'API Graph

NSString *fbUsername = [[result valueForKey:@"link"] substringFromIndex:24]; 

Cela fonctionne, mais il semble un peu fragile. Recommandez-vous un meilleur moyen?

Merci!

Matt

Répondre

0

Que diriez-vous:

NSString *fbUsername = [[result valueForKey:@"link"] lastPathComponent]; 
+1

Merci! C'est exactement ce que je voulais. Vous êtes sacrément intelligent! – ma11hew28

+1

Quoi? Vous posez une question et vous y répondez vous-même (c'est bien) et vous vous complimentez aussi – vodkhang

+0

+1 pour le commentaire amusant: P – Phil

1

En utilisant fb api pour iOS devrait être plus facile

NSMutableDictionary * params = [NSMutableDictionary dictionaryWithObjectsAndKeys: 
            @"SELECT name FROM user WHERE uid=<your user id>", @"query", 
            nil]; 
    [_facebook requestWithMethodName: @"fql.query" 
         andParams: params 
        andHttpMethod: @"POST" 
         andDelegate: self]; 

Si vous obtenez le nom formel.

+0

Ce que vous donnez est FQL, et ce qui est dans la question est l'API graphique. Ils sont différents types d'API de FB – vodkhang

+0

C'est vrai, juste pour donner une autre option que je deviens aussi facile, au moins pour obtenir des données publiques de l'utilisateur. – Martha

+0

Oui, j'utilise 'facebook-ios-sdk', sauf que je le fais:' [fb requestWithGraphPath: @ "moi" etDelegate: self]; 'parce que je veux aussi d'autres données. Quoi qu'il en soit, cet appel renvoie le 'link:" http://www.facebook.com/mattdipasquale "' data. Est-ce plus efficace que fql? J'ai pensé qu'ils l'optimiseraient puisque c'est une demande commune. Merci pour votre réponse, car cela peut être utile si je veux faire plus de demandes personnalisées à l'avenir. – ma11hew28

Questions connexes