J'essaie d'interroger des informations sur un utilisateur utilisant la nouvelle API d'intégration Facebook d'IOS 6. C'est le code que j'utilise, qui est essentiellement identique à ce qu'ils ont démontré à la WWDC:
{ NSDictionary *parameters = @{}; NSURL *url = [NSURL URLWithString:@"https://graph.facebook.com/me"]; SLRequest *request = [SLRequest requestForServiceType:SLServiceTypeFacebook requestMethod:SLRequestMethodGET URL:url parameters:parameters]; request.account = self.account; [request performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error) { NSLog(@"Facebook request received, status code %d", urlResponse.statusCode); NSString *response = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding]; NSLog(@"Response data: %@", response); dispatch_async(dispatch_get_main_queue(), ^{ }); }]; }
6 Réponses :
Ajoutez votre jeton d'accès actif dans Paramete comme
NSDictionary *parameters = [NSDictionary dictionaryWithObject:@"PUT_ACCESS_TOKEN_HERE" forKey:@"access_token"];
Comment obtenez-vous cette clé d'accès dans le code? Ou proposez-vous mettre un code d'accès réel là-bas? On dirait que les codes d'accès expirent de sorte que cela ne serait pas une bonne option.
J'ai eu le même message d'erreur, je l'ai résolu en enregistrant mon compte après le renouvelement des informations d'identification. P>
J'ai rencontré le même problème et j'ai trouvé la solution de contournement:
NSString *uid = [NSString stringWithFormat:@"%@", [[self.account valueForKey:@"properties"] valueForKey:@"uid"]] ; NSURL *url = [NSURL URLWithString:[@"https://graph.facebook.com" stringByAppendingPathComponent:uid]];
Le problème était dans des paramètres d'application incorrects sur FB. J'ai changé de paramètres selon ce message Stackoverflow.com/Questtions/12644229/... et il résolut le problème.
Assurez-vous que votre
OK Voici comment je fais cette intégration avec iOS 6 et que je souhaite ce que je veux de Facebook:
in appdelegate je fais ceci: p> et dans mon mode de vue où je veux récupérer des informations sur moi-même ou mes amis, je le fais (REMARQUE: Ceci est un test, il s'agit donc de nombreuses autorisations!): p> alors dans " PRESENTPOSTOPTIONS "Je fais ceci (dans cet exemple j'essaie de récupérer quelque chose de mon ami): P> - (void)presentPostOptions
{
[[FBRequest requestForMyFriends] startWithCompletionHandler:^(FBRequestConnection *connection, NSDictionary<FBGraphUser> *user, NSError *error)
{
if (!error) {
NSArray *data = [user objectForKey:@"data"];
NSLog(@"%d", [data count]);
for (FBGraphObject<FBGraphUser> *friend in data) {
NSLog(@"%@", [friend first_name]);
NSLog(@"%@", [friend last_name]);
NSLog(@"%@", [friend id]);
//make sure you have FBProfilePictureView outlet in your view
//otherwise skip the profile picture!
self.fbProfilePic.profileID = @"you'r friend's profile.id";
}
}
else
{
NSLog(@"error");
// [self didFailWithError:error];
}
}];
La réponse est simple
dans la vue ViewDiDload () Utilisation: p> et la fonction - (vide) FacebookProfile P> NSDictionary *param=[NSDictionary dictionaryWithObjectsAndKeys:@"picture,id,name",@"fields", nil];
SLRequest *profileInfoRequest= [SLRequest requestForServiceType:SLServiceTypeFacebook requestMethod:SLRequestMethodGET URL:url parameters:param];
profileInfoRequest.account= facebookAccount;
[profileInfoRequest performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error) {
NSLog(@"Facebook status code is : %ld", (long)[urlResponse statusCode]);
if ([urlResponse statusCode]==200) {
NSDictionary *dictionaryData= [NSJSONSerialization JSONObjectWithData:responseData options:NSJSONReadingMutableLeaves error:&error];
} else {
}
}];
}
Avez-vous reçu la réponse ?? Comme IOS 6 est libéré.