小编Bre*_*rse的帖子

iPhone Facebook视频上传

我已经在这方面工作了几天,似乎无法在任何地方找到直接的答案或例子.我正试图从我的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)

iphone xcode facebook objective-c

9
推荐指数
1
解决办法
1万
查看次数

Youtube上传质量

我正在使用谷歌的GData API,以便从我的应用程序上传视频到youtube.上传工作正常,但上传的视频质量仅为360p,而原始视频的质量为720p.

这是否按预期工作?如果是这样,有什么方法可以让我的应用程序上传HQ电影吗?

这是我用来实现视频上传的代码,如果有任何帮助的话.

GDataYouTubeMediaGroup *mediaGroup = [GDataYouTubeMediaGroup mediaGroup];
[mediaGroup setMediaTitle:title];
[mediaGroup setMediaDescription:desc];
[mediaGroup addMediaCategory:category]; 
[mediaGroup setMediaKeywords:keywords];
[mediaGroup setIsPrivate:NO];

NSString *mimeType = [GDataUtilities MIMETypeForFileAtPath:outputURL.relativePath defaultMIMEType:@"video/quicktime"];

GDataEntryYouTubeUpload *entry;
entry = [GDataEntryYouTubeUpload uploadEntryWithMediaGroup:mediaGroup data:data MIMEType:mimeType slug:filename];

SEL progressSel = @selector(ticket:hasDeliveredByteCount:ofTotalByteCount:);
[service setServiceUploadProgressSelector:progressSel];

GDataServiceTicket *ticket;
ticket = [service fetchEntryByInsertingEntry:entry forFeedURL:url delegate:self didFinishSelector:@selector(uploadTicket:finishedWithEntry:error:)];
Run Code Online (Sandbox Code Playgroud)

布伦顿

youtube iphone gdata-api gdata

6
推荐指数
1
解决办法
768
查看次数

标签 统计

iphone ×2

facebook ×1

gdata ×1

gdata-api ×1

objective-c ×1

xcode ×1

youtube ×1