_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视频上传所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)