如何在我的Facebook墙上发布通知一些朋友



我的要求是我需要通过我的应用程序在我的Facebook墙上发布隐私设置(通知特定的朋友)如何实现这一点我遵循了以下代码

-(void)sendNotification
{
    CoreDataManager *coremanagerobj = [[CoreDataManager alloc]init];
    NSArray *useridarray = [coremanagerobj GetAllMembersList]; 
    NSMutableArray *arraylist = [[NSMutableArray alloc]init]; // it will have the selected friends id
    NSMutableDictionary  *dict = [[NSMutableDictionary alloc]init];
    for (NSManagedObject *obj in useridarray)
    {
        [ arraylist addObject:[obj valueForKey:@"memberId"]];
    }
    [dict setValue:@"CUSTOM" forKey:@"value"];
    [dict setValue:arraylist forKey:@"allow"];
    NSError *error;
    NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dict
                                                       options:NSJSONWritingPrettyPrinted 
                                                         error:&error];
    NSString *jsonString;
    if (! jsonData) {
        NSLog(@"Got an error: %@", error);
    } else {
        jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
    }
    NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                                   @"sending notification", @"message",@"Posted via testApp", @"description",jsonData ,@"privacy",
                                   nil];
    // Make the request
    if ([FBSession.activeSession isOpen])
    {
        [FBSession openActiveSessionWithPublishPermissions:[NSArray arrayWithObject:@"publish_actions"]
                                           defaultAudience:FBSessionDefaultAudienceFriends
                                              allowLoginUI:YES
                                         completionHandler:^(FBSession *session, FBSessionState status, NSError *error)
         {
             if (!error && status == FBSessionStateOpen)
             {
                 [FBRequestConnection startWithGraphPath:@"/me/feed"
                                              parameters:params
                                              HTTPMethod:@"POST"
                                       completionHandler:^(FBRequestConnection *connection, id result, NSError *error)
                  {
                      if (!error)
                      {
                          // Link posted successfully to Facebook
                          NSLog(@"Result: %@", result);
                      }
                  }];
             }
         }];
    }
}

该帖子未在FaceBook中发布
我尝试使用断点进行调试
它显示"错误

NSError *domain: @"com.facebook.sdk" - code: 5  0x000000010958d110"

如果有人知道解决方案,请帮助我。提前感谢。。。

我像这样修改了代码,它对我很有用!

   CoreDataManager *coremanagerobj = [[CoreDataManager alloc]init];
        NSArray *useridarray = [coremanagerobj GetAllMembersList];
        NSString *stringlist = [[NSString alloc]init];
        NSMutableDictionary  *dict = [[NSMutableDictionary alloc]init];
    for (int i=0;i<useridarray.count;i++)
    {
        NSManagedObject *obj = [useridarray objectAtIndex:i];
        NSString *value = [obj valueForKey:@"memberId"];
        if (i==[useridarray count]-1) {
            stringlist = [ stringlist stringByAppendingString:[NSString stringWithFormat:@"%@",value]];
        }
        else
        {
            stringlist =  [ stringlist stringByAppendingString:[NSString stringWithFormat:@"%@,",value]];
        }
    }
[dict setValue:@"CUSTOM" forKey:@"value"];
    [dict setValue: stringlist forKey:@"allow"];
    NSError *error;
    NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dict
                                                       options:NSJSONWritingPrettyPrinted // Pass 0 if you don't care about the readability of the generated string
                                                         error:&error];
    NSString *jsonString;
    if (! jsonData) {
        NSLog(@"Got an error: %@", error);
    } else {
        jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
    }
    NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                                   @"sending notification", @"message",@"Posted via testApp", @"description", jsonString,@"privacy",
                                   nil];
    // Make the request
    if ([FBSession.activeSession isOpen])
    {
        [FBSession openActiveSessionWithPublishPermissions:[NSArray arrayWithObject:@"publish_actions"]
                                           defaultAudience:FBSessionDefaultAudienceFriends
                                              allowLoginUI:YES
                                         completionHandler:^(FBSession *session, FBSessionState status, NSError *error)
         {
             if (!error && status == FBSessionStateOpen)
             {
                 [FBRequestConnection startWithGraphPath:@"/me/feed"
                                              parameters:params
                                              HTTPMethod:@"POST"
                                       completionHandler:^(FBRequestConnection *connection, id result, NSError *error)
                  {
                      if (!error)
                      {
                          // Link posted successfully to Facebook
                          NSLog(@"Result: %@", result);
                      }
                  }];
             }
         }];
    }
}

相关内容

  • 没有找到相关文章

最新更新