Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Sharing a video URL in LinkedIn integration in iPhone

We can share a message(text) through LinkedIn integration in iPhone Apps. Also, I can share an image Url in LinkedIN ,but Is there any possibility to share a video url through LinkedIn in iPhone Apps......?

Thanks In Advance.....

like image 338
iCoder4777 Avatar asked Nov 03 '22 21:11

iCoder4777


1 Answers

Use MIS-LinkedIn-Share for sharing url.

Just write following code to share.

- (IBAction)share:(id)sender {
[[MISLinkedinShare sharedInstance] shareContent:self postTitle:@"Title" postDescription:@"Description" postURL:@"http://www.youtube.com/watch?v=_FaWTNEyG80" postImageURL:@"http://www.google.com/images/errors/logo_sm.gif"];
}

don't forget to set api and secret key before sharing.

OR

you can also use method with oAuthStarterkit to share url :-

Here is working code for oAuthStarterKit

1) Open the file OAuthLoginView.m

2) Find the method initLinkedInApi, add your api and secret keys here.

3)Comment lines on viewDidAppear in OAuthLoginView as

- (void)viewDidAppear:(BOOL)animated
{
    if ([apikey length] < 64 || [secretkey length] < 64)
    {
//        UIAlertView *alert = [[UIAlertView alloc]
//                          initWithTitle: @"OAuth Starter Kit"
//                          message: @"You must add your apikey and secretkey.  See the project file readme.txt"
//                          delegate: nil
//                          cancelButtonTitle:@"OK"
//                          otherButtonTitles:nil];
//        [alert show];
//        [alert release];
//        
//        // Notify parent and close this view
//        [[NSNotificationCenter defaultCenter] 
//         postNotificationName:@"loginViewDidFinish"        
//         object:self
//         userInfo:self.profile];

//        [self dismissModalViewControllerAnimated:YES];
    }

    [self requestTokenFromProvider];
}

- (void)shareImp
{
    NSLog(@"share Imp called ");
    NSURL *url = [NSURL URLWithString:@"http://api.linkedin.com/v1/people/~/shares"];
    OAMutableURLRequest *request =[[OAMutableURLRequest alloc] initWithURL:url
                                    consumer:consumer
                                       token:self.accessToken
                                    callback:nil
                           signatureProvider:nil];

    NSMutableDictionary *contents=[[NSMutableDictionary alloc] init];
    [contents setValue:@"description goes here" forKey:@"description"];
    [contents setValue:@"www.google.com" forKey:@"submitted-url"];
    [contents setValue:@"title goes here" forKey:@"title"];
    [contents setValue:@"http://economy.blog.ocregister.com/files/2009/01/linkedin-logo.jpg" forKey:@"submitted-image-url"];

    NSMutableDictionary *visible=[[NSMutableDictionary alloc] init];
    [visible setValue:@"anyone" forKey:@"code"];

    NSMutableDictionary *updatedic=[[NSMutableDictionary alloc] init];

    [updatedic setObject:visible forKey:@"visibility"];
    [updatedic setObject:contents forKey:@"content"];
    [updatedic setValue:@"Check out the LinkedIn Share API!" forKey:@"comment"];

    NSMutableData *data = [[NSMutableData alloc] init];
    NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data];
    [archiver encodeObject:updatedic forKey:@"share"];
    [archiver finishEncoding];
    [archiver release];

    NSLog(@"post dictionary is %@",updatedic);


    NSData *postData=[NSData dataWithData:data];
    [request setValue:@"json" forHTTPHeaderField:@"x-li-format"];
    [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
    [request setValue:[NSString stringWithFormat:@"%d",[postData length]] forHTTPHeaderField:@"Content-Length"];

    [request setHTTPBody:postData];
    [request setHTTPMethod:@"POST"];

    OADataFetcher *fetcher = [[OADataFetcher alloc] init];
    [fetcher fetchDataWithRequest:request
                         delegate:self
                didFinishSelector:@selector(postUpdateApiCallResult:didFinish:)
                  didFailSelector:@selector(postUpdateApiCallResult:didFail:)];

    [request release];
}

- (void)postUpdateApiCallResult:(OAServiceTicket *)ticket didFinish:(NSData *)data
{
    NSLog(@"did finish called ");

    NSString *responseBody = [[NSString alloc] initWithData:data
                                                   encoding:NSUTF8StringEncoding];

    NSLog(@"response body after posting is %@",responseBody);

    [responseBody release];
    [self dismissModalViewControllerAnimated:YES];
}

- (void)postUpdateApiCallResult:(OAServiceTicket *)ticket didFail:(NSData *)error
{
    NSLog(@"%@",[error description]);
}
like image 95
Prince Kumar Sharma Avatar answered Nov 15 '22 05:11

Prince Kumar Sharma