我已经在这方面工作了几天,似乎无法在任何地方找到直接的答案或例子.我正试图从我的iPhone应用程序中将视频上传到Facebook.我可以连接到Facebook(并上传图片)没有问题使用:
_facebook = [[Facebook alloc] initWithAppId:kAppID];
_permissions = [[NSArray arrayWithObjects:@"publish_stream", @"offline_access",nil] retain];
[_facebook authorize:_permissions delegate:self];
Run Code Online (Sandbox Code Playgroud)
但是我似乎无法让我的视频上传工作.我目前的代码是:
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];
Run Code Online (Sandbox Code Playgroud)
由于必须将视频上传调用发送到不同的服务器,我将facebook.m文件中的restserver url更改为:
static NSString* kRestserverBaseURL = @"https://api-video.facebook.com/method/";
Run Code Online (Sandbox Code Playgroud)
当我运行这个时,上传崩溃并出现错误:
facebookErrDomain err 353.
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激.
编辑:
在Zoul的帮助下,我现在实现了以下代码(我没有做任何改变他的上传类和它附带的SDK的版本).请求不再出错,但是没有上传任何内容.
我初始化facebook对象和上传对象:
_facebook = [[Facebook alloc] initWithAppId:kAppID];
_permissions = [NSArray arrayWithObjects:@"publish_stream", @"offline_access",nil];
[_facebook authorize:_permissions delegate:self];
_upload = …Run Code Online (Sandbox Code Playgroud)