通过Video -graph上传视频到Facebook.facebook iOS



我正在尝试上传视频。我已将视频文件保存为MP4文件,如下所示:

NSString *fileName = [NSString stringWithFormat:@"chatVideo-%d.mp4",arc4random()%1000];
NSString *myPathDocs = [documentsDirectory stringByAppendingPathComponent:fileName];
NSURL *videoURL = [NSURL fileURLWithPath:myPathDocs];
AVAssetExportSession *exportSession = [AVAssetExportSession exportSessionWithAsset:asset2 presetName:AVAssetExportPresetHighestQuality];
exportSession.outputURL = videoURL;
exportSession.outputFileType = AVFileTypeMPEG4;
NSData *videodata =[NSData dataWithContentsOfURL:videoURL];

我调用图API来上传到Facebook:

[parameters setValue:videoData forKey:@"source"];
    [parameters setValue:thumbData forKey:@"thumb"];
    [[[FBSDKGraphRequest alloc] initWithGraphPath:@"me/videos"
                                       parameters:parameters
                                       HTTPMethod:@"POST"]
     startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
         if ([error.userInfo[FBSDKGraphRequestErrorGraphErrorCode] isEqual:@200]) {
             NSLog(@"permission error");
         }
     }];

但是我收到这个错误:

对不起,您选择的视频文件是我们不支持的格式。

是啊,过了很久我才找到答案:

[parameters setValue:videoData forKey:@"source"];

必须是:

[parameters setValue:videoData forKey:@"video.mp4"];

我讨厌Facebook文档==!.

看一下

  • https://developers.facebook.com/docs/graph-api/reference/user/videos/创建

查看支持的视频类型列表:

3g2、3gp、3gpp、asf、avi、dat、divx、dv、f4v、flv、m2ts、m4v、mkv、mod、mov、mp4、mpe、mpeg、mpeg4、mpg、mts、nsv、ogm、ogv、qt、tod、ts、vob、wmv

因此,检查视频是否真的是一个MP4视频…

最新更新