iPhone Facebook视频上传

iPhone Facebook视频上传,第1张

概述我一直在为此工作几天,似乎无法在任何地方找到一个直接的答案或例子.我正在尝试从我的iPhone应用程序中将视频上传到Facebook.我可以连接到Facebook(并已上传图片)没有问题使用: _facebook = [[Facebook alloc] initWithAppId:kAppID];_permissions = [[NSArray arrayWithObjects:@"publi 我一直在为此工作几天,似乎无法在任何地方找到一个直接的答案或例子.我正在尝试从我的iPhone应用程序中将视频上传到Facebook.我可以连接到Facebook(并已上传图片)没有问题使用:

_facebook = [[Facebook alloc] initWithAppID:kAppID];_permissions =  [[NSArray arrayWithObjects:@"publish_stream",@"offline_access",nil] retain];[_facebook authorize:_permissions delegate:self];

不过我似乎无法让我的视频上传工作.我当前的代码是:

Nsstring *filePath = [[NSBundle mainBundle] pathForResource:@"TestMovIE" ofType:@"mp4"];NSData *data = [NSData dataWithContentsOffile:filePath];NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:                               data,@"vIDeo",nil,@"callback",@"test",@"Title",@"upload testing",@"description",@"EVERYONE",@"privacy",nil];[_facebook requestWithMethodname:@"vIDeo.upload"                       andParams:params                   andhttpMethod:@"POST"                     andDelegate:self];

由于视频上传电话必须发送到不同的服务器,所以我更改了facebook.m文件中的restserver url:

static Nsstring* kRestserverBaseURL = @"https://API-vIDeo.facebook.com/method/";

当我运行这个上传崩溃与错误:

facebookErrDomain err 353.

任何帮助将不胜感激.

编辑:

随着Zoul的帮助,我现在已经实现了以下代码(我没有改变他的上传类和SDK的版本).该请求不再收到错误,但没有上传任何内容.

我初始化了Facebook对象和上传对象:

_facebook = [[Facebook alloc] initWithAppID:kAppID];_permissions =  [NSArray arrayWithObjects:@"publish_stream",nil];[_facebook authorize:_permissions delegate:self];_upload = [[FBVIDeoUpload alloc] init];

一旦Facebook登录,我会使用它:

- (voID)fbDIDLogin{    _upload.accesstoken = _facebook.accesstoken;    _upload.APIKey = kAPIKey;    _upload.appSecret = kAPISecret;    Nsstring *filePath = [[NSBundle mainBundle] pathForResource:@"Test" ofType:@"mp4"];    NSURL *fileURL = [NSURL fileURLWithPath:filePath];    NSData *data = [NSData dataWithContentsOffile:filePath];    NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:                               data,@"",nil];    [_upload startUploaDWithURL:fileURL params:params delegate:self];}
解决方法 我在GitHub的Facebook SDK的叉上有一个 video upload branch.我没有触摸它几个星期,但它曾经工作正常(只需要旧式认证,见 this branch). FBVideoUpload class header中有一些意见,但界面几乎不言自明.还有一些有用的讨论在我的 pull request – 特别是关于API视频集群的SSL证书,可以使整个问题更容易,但我还没有审查的代码.

[Rant:可惜的是,iOS SDK的Facebook SDK在GitHub上并不完美.有很多拉请求,但官方开发人员似乎没有合并任何东西,甚至不是文件中的简单的错字修复.大多数时候拉拉请求只是坐在那里直到被拒绝.

是的,我是否提到视频上传代码是一个凌乱的黑客?视频上传代码是一个凌乱的黑客.它解析了一些认证令牌,并且可能会很快破产,但这是我可以使之恢复正常工作的唯一方法.

更新:视频上传分支不再是现在,您现在可以使用官方SDK轻松上传视频:

NSData *vIDeoData = [NSData dataWithContentsOfURL:movIEURL];NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:    …,…,@"file",vIDeoData,@"clip.mov",nil];[facebook requestWithGraPHPath:@"me/vIDeos" andParams:params andhttpMethod:@"POST" andDelegate:self];

这是“正确的方法”™,以前的解决方案只是一个暂时的黑客.

总结

以上是内存溢出为你收集整理的iPhone Facebook视频上传全部内容,希望文章能够帮你解决iPhone Facebook视频上传所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1057015.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存