iOS Facebook SDK - Стена "Публиковать в друзьях" со значением конфиденциальности "SELF" не установлена

Я хочу установить конфиденциальность записи на стене друзей на SELF.

так что только он может видеть это, я знаю, что это возможно, потому что есть свойство, но нет ни одного документально подтвержденного того, как этого добиться.

https://developers.facebook.com/docs/graph-api/reference/post

это код, который я использую:

NSMutableDictionary *params =
    [NSMutableDictionary dictionaryWithObjectsAndKeys:
     toStr, @"to",
     @"{'value': 'SELF'}", @"privacy",
     @"Facebook SDK for iOS", @"name",
     @"Build great social apps and get more installs.", @"caption",
     @"The Facebook SDK for iOS makes it easier and faster to develop Facebook integrated iOS apps.", @"description",
     @"https://developers.facebook.com/ios", @"link",
     @"https://raw.github.com/fbsamples/ios-3.x-howtos/master/Images/iossdk_logo.png", @"picture",
     nil];

    //NSLog(@"params %@", params);
    [FBWebDialogs presentFeedDialogModallyWithSession:nil
                                           parameters:params
                                              handler:
     ^(FBWebDialogResult result, NSURL *resultURL, NSError *error) {
         if (error) {
             // Error launching the dialog or publishing a story.
             NSLog(@"Error publishing story.");
         } else {
             if (result == FBWebDialogResultDialogNotCompleted) {
                 // User clicked the "x" icon
                 NSLog(@"User canceled story publishing.");
             } else {
                 // Handle the publish feed callback
                 NSDictionary *urlParams = [self parseURLParams:[resultURL query]];
                 if (![urlParams valueForKey:@"post_id"]) {
                     // User clicked the Cancel button
                     NSLog(@"User canceled story publishing.");
                 } else {
                     // User clicked the Share button
                     NSString *msg = [NSString stringWithFormat:
                                      @"Posted story, id: %@",
                                      [urlParams valueForKey:@"post_id"]];
                     NSLog(@"%@", msg);
                     // Show the result in an alert
                     success();
                 }
             }
         }
     }];

Но когда я смотрю на API GRAPH, это говорит:

"privacy": {
          "value": ""
        }, 

1 ответ

Попробуй это. Может быть, это помогает.

NSDictionary *privacyDict = [[NSDictionary alloc] initWithObjectsAndKeys:
                   @"SELF",@"value",
                   nil];
SBJSON *jsonWriter = [[SBJSON alloc] init];
NSString *privacyJSONStr = [jsonWriter stringWithObject:privacyDict];
NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                   @"my message", @"message",
                   privacyJSONStr, @"privacy",
                   nil];

Установите objectofkey (значение, друзья, сети, разрешить, запретить) из словаря privacyDict в соответствии с вашим использованием

NSDictionary *privacyDict = [[NSDictionary alloc] initWithObjectsAndKeys:
                   @"CUSTOM",@"value",
                   @"SOME_FRIENDS",@"friends",
                   @"[comma separated friends id]",@"allow",
                   nil];
Другие вопросы по тегам