【问题标题】:Linkedin Permissions : only serving current position informationsLinkedin 权限:仅提供当前位置信息
【发布时间】:2012-12-14 07:05:05
【问题描述】:

这个问题与here 相同,但我仍然面临同样的问题,linkedin 仅提供当前位置信息,我如何使用 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

【问题讨论】:

  • 您想要授权用户的详细信息吗?还是该特定授权用户的连接详细信息?
  • 我只想要该特定授权用户的详细信息,尤其是所有过去的职位详细信息和教育详细信息。
  • developer.linkedin.com/documents/profile-fields#profile 这可以帮助你,更新了linkedIn API 配置文件字段
  • 我已经参考了相同的内容来获取详细信息 Cris ,在那个文档中他们说 'positions' 属性将返回位置的集合,但我不知道为什么linkedin 只返回当前位置状态。
  • 试试这个,c.profile(:fields => %w(positions)) 至少获得位置

标签: ruby-on-rails oauth linkedin


【解决方案1】:

LinkedIn 对个人资料字段的访问非常讲究,您不能组合需要 2 个不同访问权限的多个字段。 因此,当您尝试通过 c.profile(:fields =&gt; %w(positions)) 获取职位详细信息时,它假定访问类型为“r_basicprofile”,而教育字段需要访问类型为“r_fullprofile”。因此请尝试 2​​ 个单独的 API 调用来检索这两个字段。

"first_name","last_name","headline","positions" 可用于 'r_basicprofile' 成员权限,因此它们可以组合在一起。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多