Разрешения на Linkedin: обслужва само информация за текущата позиция

Този въпрос е свързан със същия тук, но все пак се сблъсквам със същия проблем, че Linkedin обслужва само текущата информация за позицията, как мога да получа подробности за минали позиции и образование с помощта на linkedin gem в Rails, моят контролер за linkedin е показан по-долу, имам нужда от вашата помощ.

   require 'linkedin'

   class LinkedinUserController < ApplicationController

   def init_client
     key = "XXXXXX"
     secret = "XXXXXX"
     linkedin_configuration = { :site => 'https://api.linkedin.com',
        :authorize_path => '/uas/oauth/authenticate',
        :request_token_path =>'/uas/oauth/requestToken?scope=r_basicprofile+r_fullprofile+r_emailaddress+r_network+r_contactinfo',
        :access_token_path => '/uas/oauth/accessToken' }

     @linkedin_client = LinkedIn::Client.new(key, secret,linkedin_configuration)
   end

   def auth
     init_client
     request_token = @linkedin_client.request_token(:oauth_callback => "http://#{request.host_with_port}/linkedin/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
     c.profile(:fields=>["first_name","last_name","headline","positions","educations"])
   end
   end

person Sreehari K M    schedule 29.12.2012    source източник
comment
Искате ли подробности за оторизирания потребител? или подробности за връзките за този конкретен оторизиран потребител?   -  person Cris    schedule 02.01.2013
comment
Просто искам подробности за този конкретен упълномощен потребител, по-специално всички данни за минали позиции и подробности за образованието.   -  person Sreehari K M    schedule 02.01.2013
comment
developer.linkedin.com/documents/profile-fields#profile това може да помогне вие актуализирахте полетата на профила на LinkedIn API   -  person Cris    schedule 03.01.2013
comment
Посочих същото, за да получа подробности, Крис, в този документ казаха, че атрибутът „позиции“ ще върне колекцията от позиции, но не знам защо linkedin връща само текущото състояние на позиция.   -  person Sreehari K M    schedule 03.01.2013
comment
опитайте това, c.profile(:fields =› %w(positions)), за да получите поне позиции   -  person Cris    schedule 03.01.2013
comment
Уау, Крис, сега работи, какъв беше проблемът преди? Мисля, че полетата трябва да са специфични по отношение на атрибутите. Имам предвид, че basic_profile трябва да е в един набор, а полетата full_profile трябва да са друг, не можем да комбинираме тези две полета в едно. Нали?   -  person Sreehari K M    schedule 03.01.2013


Отговори (1)


LinkedIn е много специфичен за достъпа до полетата на профила и не можете да комбинирате няколко полета, което изисква 2 различни достъпа. така че когато се опитате да получите само подробности за позицията от c.profile(:fields => %w(positions)), това предполага достъп от тип „r_basicprofile“, докато полето за образование изисква достъп от тип „r_fullprofile“. Затова опитайте 2 отделни извиквания на API, за да извлечете и двете полета.

"first_name", "last_name", "headline", "positions" налични за разрешение за член 'r_basicprofile', така че те могат да бъдат комбинирани заедно.

person Cris    schedule 04.01.2013