Try it out
Apps
Blog
About
Contact
Developers
Docs
Login
Developers
linkedin@obindo.com
Written by
Chuck
Post the contents of an email message to your LinkedIn account.
/************************** Documentation Links/Description: API References : http://developer.linkedin.com/apis Authentication : https://developer.linkedin.com/documents/authentication **************************/ var oauth2Credentials = {}; //#region PRIVATE set my oauth2 credentials var requestUrl = 'https://www.linkedin.com/uas/oauth2/authorization?'; var tokenUrl = 'https://www.linkedin.com/uas/oauth2/accessToken'; var apiRoot = 'https://api.linkedin.com/v1/people/~/'; oauth2.getAuthRedirectUrl= function(q) { if (q) tokens.requestToken= util.getObjectFromQueryArgs(q); var args= { scope: 'rw_nus',//scope: 'r_fullprofile r_contactinfo r_network', state: tokens.getId(), response_type: 'code', client_id: oauth2Credentials.apiKey, redirect_uri: oauth2.getCallbackUrl(true) }; //send off the request for a 'code' return requestUrl + util.getQueryArgsFromObject(args); } oauth2.onAuthResponse= function(q) { var qArgs= util.getObjectFromQueryArgs(q); var args= { grant_type: 'authorization_code', client_id: oauth2Credentials.apiKey, client_secret: oauth2Credentials.secretKey, redirect_uri: oauth2.getCallbackUrl(true), code: qArgs.code }; //requrest to exchange the code for an access token var response = post({url: tokenUrl, args: args}); tokens.loadFromId(qArgs.state); tokens.accessToken= util.jsonify(response.text); if (tokens.requestToken && tokens.requestToken.redirect_uri) return tokens.requestToken.redirect_uri; } function postShare(message) { var token = tokens.accessToken.access_token; var url = apiRoot + 'shares?format=json&oauth2_access_token=' + token; var header = { 'Content-Type': 'application/json' }; var body = { 'comment': message, 'visibility': { 'code': 'anyone' } }; var response= post({url: url, header: header, body: util.stringify(body)}); return util.jsonify(response.text); } function sendConfirm(update) { var emailArgs= { to: message.from.emailAddress, templateFields: { recipientName: message.from.name } }; if (update) { message.appUrl= update.updateUrl; emailArgs.subject= 'Obindo posted your message to LinkedIn!'; emailArgs.text= 'We posted your message to your LinkedIn page!'; emailArgs.templateFields.buttonLink= update.updateUrl; emailArgs.templateFields.buttonLink= 'View in LinkedIn'; } else { emailArgs.subject= 'Obindo didn\'t know what to do with that one'; emailArgs.text= 'Sorry we didn\'t see any files, so we didn\'t know what you wanted to save.' + '\n\nPlease try again the next time you\'d like to post to LinkedIn.'; } emailArgs.text+= '\n\nThanks for using Obindo!'; sendEmail(emailArgs); } $(function() { var text; if (message.selections) text= message.selections.postText; else if (message.text) text= message.text; else text= message.subject; text= (text) ? util.trim(text) : ''; var update= (text.length > 0) ? postShare(text) : null; sendConfirm(update) });