Я работаю над этим уже пару дней и просто не могу найти ни одного прямого ответа или примера.Я пытаюсь загрузить видео на Facebook из приложения для iPhone.Я могу подключиться к 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];
И так как вызовы для загрузки видео должны быть сделаны на другой сервер, я изменил URL restserver в файле facebook.m:
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];
}