【发布时间】:2011-07-18 08:53:42
【问题描述】:
我已经为此工作了几天,但似乎无法在任何地方找到直接的答案或示例。我正在尝试从我的 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", @"offline_access",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, @"",
@"test", @"title",
@"upload testing", @"description",
@"EVERYONE", @"privacy",
nil];
[_upload startUploadWithURL:fileURL params:params delegate:self];
}
【问题讨论】:
-
我无法添加此代码,因为在我的 facebook-ios-sdk FBVideoUpload 类中不存在.. 你能帮帮我吗
-
现在我收到错误
Unable to retrieve session key from the access token. -
但是在这种情况下,我的更新正常,没有会话错误
-
我有一个非常简单的修复方法,您可以使用当前 iOS Facebook SDK 的一个功能:stackoverflow.com/questions/17927767/…
标签: iphone objective-c xcode facebook