|
-(void)shareOnFaceBook |
|
{ |
|
//sample_video.mov is the name of file |
|
NSString *filePathOfVideo = [[NSBundle mainBundle] pathForResource:@"sample_video" ofType:@"mov"]; |
|
|
|
NSLog(@"Path Of Video is %@", filePathOfVideo); |
|
NSData *videoData = [NSData dataWithContentsOfFile:filePathOfVideo]; |
|
//you can use dataWithContentsOfURL if you have a Url of video file |
|
//NSData *videoData = [NSData dataWithContentsOfURL:shareURL]; |
|
//NSLog(@"data is :%@",videoData); |
|
NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys: |
|
videoData, @"video.mov", |
|
@"video/quicktime", @"contentType", |
|
@"Video name ", @"name", |
|
@"description of Video", @"description", |
|
nil]; |
|
|
|
if (FBSession.activeSession.isOpen) |
|
{ |
|
[FBRequestConnection startWithGraphPath:@"me/videos" |
|
parameters:params |
|
HTTPMethod:@"POST" |
|
completionHandler:^(FBRequestConnection *connection, id result, NSError *error) { |
|
if(!error) |
|
{ |
|
NSLog(@"RESULT: %@", result); |
|
[self throwAlertWithTitle:@"Success" message:@"Video uploaded"]; |
|
} |
|
else |
|
{ |
|
NSLog(@"ERROR: %@", error.localizedDescription); |
|
[self throwAlertWithTitle:@"Denied" message:@"Try Again"]; |
|
} |
|
}]; |
|
} |
|
else |
|
{ |
|
NSArray *permissions = [[NSArray alloc] initWithObjects: |
|
@"publish_actions", |
|
nil]; |
|
// OPEN Session! |
|
[FBSession openActiveSessionWithPublishPermissions:permissions defaultAudience:FBSessionDefaultAudienceEveryone allowLoginUI:YES |
|
completionHandler:^(FBSession *session, |
|
FBSessionState status, |
|
NSError *error) { |
|
if (error) |
|
{ |
|
NSLog(@"Login fail :%@",error); |
|
} |
|
else if (FB_ISSESSIONOPENWITHSTATE(status)) |
|
{ |
|
[FBRequestConnection startWithGraphPath:@"me/videos" |
|
parameters:params |
|
HTTPMethod:@"POST" |
|
completionHandler:^(FBRequestConnection *connection, id result, NSError *error) { |
|
if(!error) |
|
{ |
|
[self throwAlertWithTitle:@"Success" message:@"Video uploaded"]; |
|
|
|
NSLog(@"RESULT: %@", result); |
|
} |
|
else |
|
{ |
|
[self throwAlertWithTitle:@"Denied" message:@"Try Again"]; |
|
|
|
NSLog(@"ERROR: %@", error.localizedDescription); |
|
} |
|
|
|
}]; |
|
} |
|
}]; |
|
} |
|
} |
Successfully tested On FaceBook SDK 3.14.1
...
I GOT Error In first time of App runs:
The operation couldn’t be completed. (com.facebook.sdk error 5.)
It happens when facebook is being inited. Next time i open my app, it works fine, its always the first time. Tried everything in app, but it seems to be on the Facebook SDK side.
Few causes for seeing com.facebook.sdk error 5:
Session is is not open. Validate.
Facebook has detected that you're spamming the system. Change video name.
Facebook has a defined limit using the SDK. Try a different app.
Wrong publish permission. Give publish_actions a spin.
many more....