这个问题与同一个here有关,但我仍面临同样的问题,即只提供当前的位置信息,我如何才能获得过去的位置&使用Rails中linkedin gem的教育详细信息,我的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
答案 0 :(得分:1)
LinkedIn非常关注访问个人资料字段,并且您无法组合需要2个不同访问权限的多个字段。
因此,当您尝试通过c.profile(:fields => %w(positions))
获取位置详细信息时,它会假定访问类型为“r_basicprofile”,而教育字段则需要访问“r_fullprofile”类型。因此,请尝试2个单独的API调用来检索这两个字段。
“first_name”,“last_name”,“标题”,“职位”可用于'r_basicprofile'成员权限,因此可以将它们组合在一起。