我正在制作一个测试应用程序,我想通过它在 facebook 上发布视频。我正在使用 facebook 的最新 sdk。但我无法将其发布到 Facebook。
我的代码如下。
NSDictionary *parameters = [NSDictionary dictionaryWithObject:videoData forKey:@"CareAppDemo.mov"];
FBRequest *request = [FBRequest requestWithGraphPath:@"me/videos" parameters:parameters HTTPMethod:@"POST"];
[request startWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
NSLog(@"result: %@, error: %@", result, error);
}];
请帮我通过我的应用程序在 Facebook 上发布视频。
最佳答案
您需要先下载FacebookSDK 然后将以下框架添加到您的项目中
FacebookSDK.framework, FBSDKLoginKit.framework, FBSDKShareKit.framework, Bolts.framework,FBSDKCoreKit.framework
导入它们, 并编写以下代码
if(![FBSDKAccessToken currentAccessToken])
{
FBSDKLoginManager *login1 = [[FBSDKLoginManager alloc]init];
[login1 logInWithPublishPermissions:@[@"publish_actions"] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
FBSDKShareVideo *video = [[FBSDKShareVideo alloc] init];
video.videoURL = videoAssetURL;
FBSDKShareVideoContent *content = [[FBSDKShareVideoContent alloc] init];
content.video = video;
[FBSDKShareDialog showFromViewController:self withContent:content delegate:nil];
}];
}
else {
FBSDKShareVideo *video = [[FBSDKShareVideo alloc] init];
video.videoURL = videoAssetURL;
FBSDKShareVideoContent *content = [[FBSDKShareVideoContent alloc] init];
content.video = video;
[FBSDKShareDialog showFromViewController:self withContent:content delegate:nil];
}
视频 URL videoURL 必须是 Assets URL。您可以获得视频 Assets URL,例如来自 UIImagePickerController。
或者录制视频你可以采取如下方式
ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
[library writeVideoAtPathToSavedPhotosAlbum:[NSURL URLWithString:[[NSHomeDirectory() stringByAppendingPathComponent:@"Library/Caches"] stringByAppendingFormat:@"/current.mov"]] completionBlock:^(NSURL *assetURL, NSError *error)
{
videoAssetURL =assetURL;
}];
有关更多详细信息,您可以使用 https://developers.facebook.com/docs/sharing/ios
关于ios - 如何在 Facebook 上传/分享视频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21402660/