【问题标题】:Upload Video to Facebook via video-graph.facebook iOS通过 video-graph.facebook iOS 将视频上传到 Facebook
【发布时间】:2015-10-21 08:12:24
【问题描述】:

我正在尝试上传视频。我已将视频文件保存为 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");
         }
     }];

但我收到此错误:

抱歉,您选择的视频文件格式我们不支持。

【问题讨论】:

    标签: ios objective-c facebook facebook-graph-api video


    【解决方案1】:

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

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

    一定是:

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

    我讨厌 Facebook 文档 ==!。

    【讨论】:

    • wtf...我遇到了同样的问题,并试图进行手动表单多部分/表单编码,什么不是...最后它只是将source 更改为video.mp4。如果你记得的话,你在哪里找到的? (好奇)。
    • @MartínMarconcini 我参考了这个来源:github.com/lucascorrea/SCFacebook
    • 谢谢,Facebook 文档旨在非常完整,但它由不同的人/团队清楚地编写,有时是一团糟。
    • 所以无论我们使用什么视频格式,我们都简单地称之为video.{format}?例如MOV 视频会变成[parameters setValue:videoData forKey:@"video.mov"]; AVI 格式会变成[parameters setValue:videoData forKey:@"video.avi"]; ?
    【解决方案2】:

    看看

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

    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

    Ergo,检查视频是否真的是 MP4 视频...

    【讨论】:

    • 您可以在上面的代码中看到,我的文件名是 MP4,输出导出也是 AVFileTypeMPEG4。 :(
    • 确保将其提交给graph-video.facebook.com,并且请求编码为multipart/form-data
    • 我遵循 Facebook 上的这个指南。 link 当它在 sdk 中运行时我已经检查过它也调用了 graph-video.facebook.com。
    猜你喜欢
    • 2011-11-12
    • 2016-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-03
    • 1970-01-01
    • 1970-01-01
    • 2020-04-15
    相关资源
    最近更新 更多