publier sur mon mur facebook en utilisant le nouveau sdk

J'utilise le nouveau SDK Facebook pour publier sur mon mur en suivant leurs instructions

J'ai obtenu l'autorisation de l'application, mais quand j'essaie de publier je reçois une erreur Error: HTTP status code: 400 ci-dessous je post mon code

  - (void)viewDidLoad { self.postParams = [[NSMutableDictionary alloc] initWithObjectsAndKeys: @"https://developers.facebook.com/ios", @"link", @"https://fb-s-a-a.akamaihd.net/h-ak-fbx/v/t39.2178-6/851583_370362429748807_1622507015_n.png?oh=d02a820f69d43b32e474b54895024b95&oe=5AD0FC2D&__gda__=1524043554_07dd455b32e67ada4bb99fb5ee774b5a", @"picture", @"Facebook SDK for iOS", @"name", @"build apps.", @"caption", @"testing for my app.", @"description", nil]; [self.postParams setObject:@"hgshsghhgsls" forKey:@"message"]; [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. } -(IBAction)Post{ AppDelegate *appDelegate = [UIApplication sharedApplication].delegate; [appDelegate openSessionWithAllowLoginUI:YES]; [FBRequestConnection startWithGraphPath:@"me/Mac" parameters:self.postParams HTTPMethod:@"POST" completionHandler:^(FBRequestConnection *connection,id result,NSError *error) { NSSsortingng *alertText; if (error) { alertText = [NSSsortingng ssortingngWithFormat:@"error: domain = %@, code = %d, des = %d",error.domain, error.code,error.description]; } else { alertText = [NSSsortingng ssortingngWithFormat:@"Posted action, id: %@",[result objectForKey:@"id"]]; } // Show the result in an alert [[[UIAlertView alloc] initWithTitle:@"Result" message:alertText delegate:self cancelButtonTitle:@"OK!" otherButtonTitles:nil]show]; }]; } 

Qu'est-ce que je fais de mal ici et toute suggestion sera grande et ce nouveau SDK est une version bêta? ou un complet?

Si vous rencontrez des problèmes, essayez d'activer la journalisation en ajoutant ce code avant l'appel de requête que vous êtes intéressé par le debugging:

[FBSettings setLoggingBehavior:[NSSet setWithObjects:FBLoggingBehaviorFBRequests, FBLoggingBehaviorFBURLConnections, nil]];

enfin j'ai résolu le problème pour que je dois changer le paramètre Auth Token à URLFragment dans ma page d'autorisation de l'application, puis il fonctionne

J'ai utilisé ce cadre pour mon projet. ça fonctionne correctement. c'est mon code lié

  -(IBAction)logIn:(id)sender; { AppDelegate *appdelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate]; if (!FBSession.activeSession.isOpen) { [appdelegate sessionOpener]; } else { [self loginHelp]; } 

et ma fonction sessionOpener est;

  -(void) sessionOpener 

{

 [FBSession sessionOpenWithPermissions:nil completionHandler:^(FBSession *session, FBSessionState status, NSError *error) { // session might now be open. if (!error) { [self.viewController loginHelp]; } }]; NSLog(@"%d", FBSession.activeSession.isOpen); NSLog(@"%@", FBSession.activeSession.description ); 

}

ça marche pour moi. peut vous être utile.

Vérifiez les permissions de publication de session.

Cela m'a bien travaillé.

 [FBSession openActiveSessionWithPublishPermissions:[[NSArray alloc] initWithObjects:@"publish_stream",@"email", nil] defaultAudience:FBSessionDefaultAudienceFriends allowLoginUI:YES completionHandler:^(FBSession *session, FBSessionState state, NSError *error) { [self sessionStateChanged:session state:state error:error]; }];