我似乎不知道如何在 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];
}
没有标签也能正常工作。该数组目前包含一个字符串,其中包含我希望标记的 friend 的标识符。
我假设我添加的标签不正确。我希望避免使用此处概述的三步法:Tag Friends in Facebook Photo Upload ,因为我认为这需要照片许可,而仅发布照片则不需要。
最佳答案
这是我用来在照片上标记 friend 的代码:
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"];
}
关于objective-c - 如何使用 Facebook iOS SDK 在照片中标记用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11856474/