我可以通过Objective-C使用最新的Graph API将视频成功上传到Facebook。但是,我还要标记视频中的某些Facebook用户。我无法让它发挥作用。
FB documentation表示有一个“tag”字段接受包含id和name字段的对象数组。但是,如果我尝试以此格式传递JSON字符串,则视频上载失败,没有任何有用的错误消息。我是否正确传递了标签数据?
这是失败的示例代码。当我从params中删除@“tags”字段时,代码成功,或者将tagStr设置为空数组,即@“[]”。
NSString *tagStr = @"[{\"id\":\"<id-removed>\", \"name\":\"<name-removed>\"}]";
NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
data, @"video.mov",
@"video/quicktime", @"contentType",
titleStr, @"title",
descStr, @"description",
tagStr, @"tags", // specifying tags fails
nil];
[facebook requestWithGraphPath:@"me/videos"
andParams:params
andHttpMethod:@"POST"
andDelegate:self];
答案 0 :(得分:1)
你的Params词典应该是这样的,
NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
videoData, @"video.mov",
@"video/quicktime", @"contentType",
@"Birthday wishes", @"title",
@"via Birthday wishes", @"description",facebook.accessToken,@"access_token",
nil];
视频发布后,您可以在 - (void)请求中标记朋友:(FBRequest *)请求didLoad:(id)结果如
[APP.facebook requestWithGraphPath:[NSString stringWithFormat:@"%@/tags/%@?access_token=%@", photoID, [ar_tID objectAtIndex:i], APP.facebook.accessToken]andParams:nilandHttpMethod:@"POST" andDelegate:self];