Publicación de una historia personalizada para la API gráfica con Facebook iOS SDK 3.5

En iOS SDK 3.5 de Facebook, supuestamente hay una forma de crear una historia nueva con la API de gráfico abierto sin necesidad de un server de background.

La documentation / tutoriales en Facebook.com solo muestra cómo se hace con un server de background, y parece que no hay un código de trabajo en Internet que pueda encontrar sobre cómo hacerlo.

He logrado armar el siguiente código basado en pequeños fragments de código, pero no funciona:

NSMutableDictionary<FBOpenGraphObject> *event = [FBGraphObject openGraphObjectForPost]; event[@"type"] = @"leaf-events:event"; event[@"title"] = @"Adam's Birthday"; NSMutableDictionary<FBGraphObject> *action = [FBGraphObject openGraphActionForPost]; action[@"event"] = event; [FBRequestConnection startForPostWithGraphPath:@"me/leaf-events:create" graphObject:action completionHandler:^(FBRequestConnection *connection, id result, NSError *error) { NSLog(@"Result: %@", result); NSLog(@"Error: %@", error.userInfo); }]; 

Este código se bloquea y me dice:

 2013-06-19 19:40:01.451 Events[1150:60b] Error: { "com.facebook.sdk:ErrorSessionKey" = "<FBSession: 0x1650fe80, state: FBSessionStateOpen, loginHandler: 0x1651dc20, appID: 474218799329968, urlSchemeSuffix: , tokenCachingStrategy:<FBSessionTokenCachingStrategy: 0x16549810>, expirationDate: 4001-01-01 00:00:00 +0000, refreshDate: 2013-06-19 18:39:57 +0000, attemptedRefreshDate: 0001-12-30 00:00:00 +0000, permissions:(\n \"basic_info\"\n)>"; "com.facebook.sdk:HTTPStatusCode" = 400; "com.facebook.sdk:ParsedJSONResponseKey" = { body = { error = { code = 3503; message = "(#3503) \"{\"type\":\"leaf-events:event\",\"data\":{},\"title\":\"Adam's Birthday\",\"fbsdk:create_object\":true}\" is an invalid value for property \"event\" with type \"Reference\""; type = OAuthException; }; }; code = 400; }; } 

¿Alguien puede ayudarme y proporcionar código de muestra sobre cómo hacer esta tarea aparentemente simple, he estado atrapado en él por 2 días ahora mismo!

Veo que esta es una vieja pregunta, pero todavía no hay buenas respuestas, así que espero ayudar a smb. crear object:

 - (NSDictionary *)sharingDictionaryForXXX { return @{ @"type" : @"app_namespace:object_name", @"fbsdk:create_object" : @YES, @"title" : "title text", @"url" : @"link to your site configunetworking in app dashboard", @"image" : @"https://fbstatic-a.akamaihd.nethttp://iosberry.comdevsite/attachment_blank.png", @"description" : "your description", }; } 

compartir:

  id<FBOpenGraphAction> action = [FBGraphObject openGraphActionForPost]; action[@"object_name"] = [self sharingDictionaryForXXX]; FBOpenGraphActionShareDialogParams * params = [[FBOpenGraphActionShareDialogParams alloc] init]; params.actionType = @"app_namespace:action_name"; params.action = action; params.previewPropertyName = @"object_name"; // Show the Share dialog if available if ([FBDialogs canPresentShareDialogWithOpenGraphActionParams:params]) { [FBDialogs presentShareDialogWithOpenGraphAction:[params action] actionType:[params actionType] previewPropertyName:[params previewPropertyName] handler:^(FBAppCall * call, NSDictionary * results, NSError * error) { if (error) { NSLog(@"Error: %@", error); } else { NSLog(@"Success!"); } }]; } else { // If the Facebook app isn't available, show the Feed dialog as a fallback [self presentWebBasedSharing]; }