0

Objective-C 経由で最新の Graph API を使用して、Facebook に動画を正常にアップロードできます。ただし、ビデオに出ている特定の Facebook ユーザーにもタグを付けたいと思います。これを機能させることはできません。

FBのドキュメントには、id フィールドと name フィールドを含むオブジェクトの配列を受け入れる「tag」フィールドがあると書かれています。ただし、この形式で JSON 文字列を渡そうとすると、ビデオのアップロードは失敗し、有用なエラー メッセージは表示されません。タグデータを正しく渡していますか?

失敗するサンプルコードを次に示します。@"tags" フィールドを params から削除するか、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

Params 辞書は次のようになります。

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 に答える