【发布时间】:2011-04-23 20:54:04
【问题描述】:
我正在使用linkedin gem https://github.com/pengwynn/linkedin
我授权使用 Omniauth 并存储访问令牌和机密。
然后我通过客户端访问进行授权。
当我输入 client.profile 时,我似乎得到了一些有用的东西——但它看起来主要是 Nokogiri,但在 LinkedIn::Profile 类中。
我如何专门访问字段,我是否能够在 rails 中使用视图中的方法调用,或者我是否需要在控制器中进行所有解析并将这些值从那里传递给视图。
一旦我建立了client.profile,如何访问个人资料图片网址、标题、姓名、公司之类的东西会很棒。
当我使用 (:fields =>) 时,我会得到这样的结果:
#<LinkedIn::Profile:0xb682c72c @doc=#<Nokogiri::XML::Document:0x..fdb41630a name="document" children=[#<Nokogiri::XML::Element:0x..fdb415fae name="person" children=[#<Nokogiri::XML::Text:0x..fdb415d88 "\n ">, #<Nokogiri::XML::Element:0x..fdb415d24 name="picture-url" children=[#<Nokogiri::XML::Text:0x..fdb415aae "http://media.linkedis:
我只想要与节点“picture-url”关联的字符串...我该怎么做?
来自控制器:
7 `def show`
8 @user = User.find(params[:id])
9 @client = LinkedIn::Client.new(ENV["LINKEDIN_KEY"], ENV["LINKEDIN_SECRET"])
10 @client.authorize_from_access(@user.atoken, @user.asecret)
11 @client.profile(:id => @user.uid, :fields => ["picture-url", "headline"])
12
13 end
新错误:
undefined method `downcase' for nil:NilClass
这是一个相关的问题:“https://stackoverflow.com/questions/5821549/how-do-i-pass-a-a-tag-through-ruby-to-linkedin-using-the-gem”
【问题讨论】:
-
您可以为您的小写错误发布完整的回溯吗?您确定上面示例中的所有令牌实际上都不是 NIL 吗?尝试在 IRB 控制台中运行 show 方法中的所有命令,看看其中哪一个导致回溯,然后关注该命令及其参数
标签: ruby-on-rails ruby nokogiri linkedin