使用rest_client进行身份验证,401未经授权的asana api

时间:2014-09-22 12:12:41

标签: ruby authentication automation rest-client asana

我正试图从asana rest api得到回应。但它返回401未经授权的错误。我使用以下代码来获得回复:

    require 'base64'
    require 'rest_client'
    @user='mailid'
    @pass='YWlzNydXNoMTIz\n'
    @url="https://app.asana.com"
    response = RestClient::Request.new(
    :method => :get,
    :url => @url + "/" + "api/1.0/users/me",
    :user => @user,
    :password => Base64.decode64(@pass),

  ).execute
  @results = JSON.parse(response.to_str)
  p @results

我收到此错误/.rvm/gems/ruby-2.1.0/gems/rest-client-1.6.7/lib/restclient/abstract_response.rb:48:in`return!':401未经授权(RestClient :: Unauthorized)

请告诉您此代码的问题。

1 个答案:

答案 0 :(得分:0)

可以使用HTTP基本身份验证,但您需要将API密钥作为用户名(而不是密码)传递,如Developer Documentation中所述。所以,它应该看起来像:

@api_key='FcZ23.M4xsMtXmTKmDA4ssLCkEnYi'
...
:user => @api_key,
:password => ""

您可以通过帐户设置>获取API密钥;应用> API密钥。