如何使用Facebook iOS SDK在照片中标记用户?
问题描述:
我似乎无法解决如何在Facebook照片上传中标记用户。如何使用Facebook iOS SDK在照片中标记用户?
的文件似乎表明您使用数组,但下面的代码不正确解析(会导致应用程序崩溃)
- (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];
}
它工作正常,没有标签。此刻的数组包含一个带有我希望标记的朋友的标识符的字符串。
我假设我错误地添加了标签。我希望避免使用这里列出的三步法:Tag Friends in Facebook Photo Upload,因为我认为需要照片许可,只需发布照片不需要。
答
这里是我用来在照片上标记好友的代码:
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"];
}