1

我似乎无法弄清楚如何在 Facebook 照片上传中标记用户。

文档似乎建议您使用数组,但以下代码无法正确解析(导致应用程序崩溃)

- (void)uploadImage:(UIImage *)img
           withTags:(NSArray *)tags
{
    NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                                   @"msgstring", @"message",
                                   img, @"picture",  
                                   nil];
    if (tags) {
        [params setObject:tags
                   forKey:@"tags"];
    }

    self.requestType = FBAssistantRequestImageUpload;

    [self.facebook requestWithGraphPath:@"me/photos"
                              andParams:params
                          andHttpMethod:@"POST"
                            andDelegate:self];
}

没有标签它工作正常。目前的数组包含一个字符串,其中包含我希望标记的朋友的标识符。

我假设我错误地添加了标签。我希望避免使用此处概述的三步方法:在 Facebook 照片上传中标记朋友,因为我认为这需要照片权限,而仅发布照片不需要。

4

1 回答 1

2

这是我用来在照片上标记朋友的代码:

NSMutableArray *tags = [[NSMutableArray alloc] init];
NSString *tag  = nil;
        if(self.selectedFriends != nil){
            for (NSDictionary *user in self.selectedFriends) {
                tag = [[NSString alloc] initWithFormat:@"{\"tag_uid\":\"%@\"}",[user objectForKey:@"id"] ];
                [tags addObject:tag];
            }
            NSString *friendIdsSeparation=[tags componentsJoinedByString:@","];
            NSString *friendIds = [[NSString alloc] initWithFormat:@"[%@]",friendIdsSeparation ];
    [params setObject:friendIds forKey:@"tags"];
    }
于 2013-09-01T15:34:41.503 回答