After Facebook & Twitter share ,its time for Linkedin. I would suggest you to refer my 2 prev posts before going through this article.
Include "linkedin" gem in your Gemfile and bundle .
gem 'linkedin'
Route file:
match '/linkedin_share/auth' => 'linkedin_share#auth' , :method => :get , :as => :linkedin_auth match '/linkedin_share/callback' => 'linkedin_share#callback' , :method => :get , :as => :linkedin_callback
LinkedinShare Controller & Actions :
class LinkedinShareController < ApplicationController def init_client key = "APP KEY" secret = "SECRET KEY" linkedin_configuration = { :site => 'https://api.linkedin.com', :authorize_path => '/uas/oauth/authenticate', :request_token_path =>'/uas/oauth/requestToken?scope=rw_nus', :access_token_path => '/uas/oauth/accessToken' } @linkedin_client = LinkedIn::Client.new(key, secret,linkedin_configuration ) end def auth init_client cookies["title"] = { :value => "#{params[:title]}", :expires => 1.minute.from_now } cookies["url"] = { :value => "#{params[:url]}", :expires => 1.minute.from_now } request_token = @linkedin_client.request_token(:oauth_callback => "http://# {request.host_with_port}/linkedin_share/callback") session[:rtoken] = request_token.token session[:rsecret] = request_token.secret redirect_to @linkedin_client.request_token.authorize_url end def callback init_client if session[:atoken].nil? pin = params[:oauth_verifier] atoken, asecret = @linkedin_client.authorize_from_request(session[:rtoken], session[:rsecret], pin) session[:atoken] = atoken session[:asecret] = asecret else @linkedin_client.authorize_from_access(session[:atoken], session[:asecret]) end c = @linkedin_client title = "#{cookies["title"]}" url = "#{cookies["url"]}" c.add_share({ :comment => title, :content => { :title => title, :submitted_url => url, :submitted_image_url => "IMAGE PATH", :description => 'YOUR DESCRIPTION' } }) redirect_to root_path end end
Hello,
ReplyDeleteI used your code but get error below.
LinkedIn::Errors::AccessDeniedError in SocialAccountsController#share_message_linkedin
(403): Access to posting shares denied
Anything wrong here.
Thanks