0

我正在尝试运行一个简单的身份验证调用以通过linkedin 检索配置文件。
我在 Rails 上运行 ruby​​ 并尝试了此处解释的示例“ http://developer.linkedin.com/documents/code-samples ”。

运行我的代码时,出现此错误
undefined method `auth_code' for "Client function":String

我在我的 GemFile 中包含以下内容:

   gem 'linkedin'
   gem 'oauth2'
   gem 'oauth'

使用以下代码:

 #Instantiate your OAuth2 client Object
  def client 
    OAuth2::Client.new(
      CONSUMER_KEY,
      CONSUMER_SECRET,
      :authorize_url => "/uas/oauth2/authorization?response_type=code",
      :token_url => "/uas/oauth2/accessToken",
      :site => "https://www.linkedin.com"
    )   
    pp 'Client function'
  end 

  def test1
    pp ' to authorize function'
    authorize
  end 

  def authorize
    pp 'in authorize'
    #Redirect user in order to authenticate
    redirect_to client.auth_code.authorize_url(:scope => 'r_fullprofile r_emailaddress r_network',
                                               :state => STATE,
                                               :redirect_uri => REDIRECT_URI)
  end 

因此,当它到达 redirect_to client.auth_code.authorize_url() 时,我的“auth_code”未定义。

这是什么原因?我需要安装另一种类型的 gem。我已经尝试过捆绑更新和捆绑安装。什么都没有发生。

任何帮助都非常感激。谢谢

4

2 回答 2

1

您的客户端方法通过 pp 方法而不是您创建的客户端实例返回字符串“客户端函数”。

于 2013-04-25T23:55:59.000 回答
1

ruby 方法返回最后一条语句的输出。在你的情况下,它是pp声明。删除pp或将其放在方法的开头。

于 2013-04-26T00:00:36.263 回答