2012-04-06 35 views
0

我可以通过Objective-C使用最新的Graph API成功上传视频到Facebook。不过,我还想标记视频中的某些Facebook用户。我无法得到这个工作。如何使用Graph API将视频上传到Facebook时指定标签

FB documentation表示有一个“标签”字段接受包含id和名称字段的对象数组。但是,如果我尝试以此格式传递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]; 

回答

1

你PARAMS解释应该是这样,

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

视频被发布后,您可以能够标记朋友 - (空)要求:(FBRequest *)要求didLoad:(ID )结果像

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

相关问题