无法在 Facebook 分享视频

Posted

技术标签:

【中文标题】无法在 Facebook 分享视频【英文标题】:unable to share video in facebook 【发布时间】:2015-06-10 09:51:42 【问题描述】:

我想在 Facebook 上分享视频。为此,我已经根据他们的文档下载并设置了 FacebookSDK。为此,如果我使用他们的教程代码,如下所示。

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info

    NSURL *videoURL = [info objectForKey:UIImagePickerControllerReferenceURL];
    FBSDKShareVideo *video = [[FBSDKShareVideo alloc] init];
    video.videoURL = videoURL;
    NSLog("%@",videoURL);
    FBSDKShareVideoContent *content = [[FBSDKShareVideoContent alloc] init];
    content.video = video;
    [FBSDKShareDialog showFromViewController:self withContent:content delegate:nil];

日志记录如下

资产 网址:assets-library://asset/asset.JPG?id=7D4D3554-6782-446F-A566-BD570754B6ED&ext=JPG

但是,如果我按照我的要求更改代码,那么视频将不会出现在共享对话框中。代码如下。

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *myPathDocs =  [[documentsDirectory stringByAppendingPathComponent:@"Saved Video"] stringByAppendingPathComponent:[player.contentURL lastPathComponent]];;
FBSDKShareVideo *video = [[FBSDKShareVideo alloc] init];
video.videoURL = [NSURL fileURLWithPath:myPathDocs];//[NSURL URLWithString:myPathDocs];
FBSDKShareVideoContent *content = [[FBSDKShareVideoContent alloc] init];
content.video = video;
NSLog("%@",myPathDocs);
[FBSDKShareDialog showFromViewController:self withContent:content delegate:nil];

日志记录如下

file:///private/var/mobile/Containers/Data/Application/4DF2C574-4A9D-41B8-8666-27472A995F47/Documents/Saved%20Video/hello.mov

根据 facebook 视频共享文档中的说明,我的视频大小不超过 12MB。 我也试过像下面这样video.videoURL = [NSURL fileURLWithPath:myPathDocs]; 该日志记录如下。

文件:/private/var/mobile/Containers/Data/Application/4DF2C574-4A9D-41B8-8666-27472A995F47/Documents/Saved%2520Video/hello.mov

请帮我解决这个问题。 提前谢谢...

【问题讨论】:

这里,播放器是指MPMoviePlayerController的对象,当前正在播放视频。 【参考方案1】:

试试这个

FBSDKShareVideoContent *content = [[FBSDKShareVideoContent alloc] init];
    content.video = [FBSDKShareVideo videoWithVideoURL:[NSURL fileURLWithPath:myPathDocs]];

【讨论】:

以上是关于无法在 Facebook 分享视频的主要内容,如果未能解决你的问题,请参考以下文章

在Facebook上分享视频失败

如何在 youtube 等 Facebook 上分享我网站上的视频

通过内联播放在 facebook 上分享嵌入的视频

分享视频链接到 facebook ios

通过 FB SDK for iOS 将视频分享到 facebook

Facebook 分享视频 Graph API