0

我可以通过 Objective-C 使用最新的 Graph API 成功地将视频上传到 Facebook。但是,我还想标记视频中的某些 Facebook 用户。我不能让它工作。

FB 文档说有一个“标签”字段,它接受包含 id 和 name 字段的对象数组。但是,如果我尝试以这种格式传递 JSON 字符串,则视频上传失败,没有任何有用的错误消息。我是否正确传递了标签数据?

这是失败的示例代码。当我从参数中删除@"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];
4

1 回答 1

1

你的参数字典应该是这样的,

NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                                   videoData, @"video.mov",
                                   @"video/quicktime", @"contentType",
                                   @"Birthday wishes", @"title",
                                   @"via Birthday wishes", @"description",facebook.accessToken,@"access_token",
                                   nil];

视频发布后,您可以在 - (void)request:(FBRequest *)request didLoad:(id)result 中标记朋友,如下所示

[APP.facebook requestWithGraphPath:[NSString stringWithFormat:@"%@/tags/%@?access_token=%@", photoID, [ar_tID objectAtIndex:i], APP.facebook.accessToken]andParams:nilandHttpMethod:@"POST" andDelegate:self];

于 2013-04-03T11:43:14.857 回答