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];