-1
    require 'net/http'
    uri = URI("https://api.assembla.com/v1/activity.json")
    req = Net::HTTP::Get.new(uri.request_uri)
    req.basic_auth "api key", "api secret"

    res = Net::HTTP.start(uri.host, uri.port, :use_ssl => uri.scheme == 'https') { |http|
        http.request(req)
    }

    puts res.body

输出 :

 {"error":"invalid_auth","error_description":"Please provide authentication data (API key/secret pair or a valid access token)"}

此外,从活动 api 中,我们可以添加 from、to、space_id 等参数。但是,只有在使用单个参数时才能获得正确的结果。当我想获得特定日期的结果时,我需要同时使用 from 和 to ,我这样使用:“url?from=frmdate&to=todate”,但没有根据参数获得正确的输出。(用 curl 试过这个,但是由于我无法正确发送身份验证数据,ruby 根本无法工作)。

4

1 回答 1

2
   req.basic_auth "api key", "api secret"

删除上面的行并添加下面的行,上面的行用于身份验证,如方法名称所述。:

   req.add_field 'X-Api-Key', 'your key'
   req.add_field 'X-Api-Secret', 'your secret'

在这里,您必须将这些键作为标题发送。

http://ruby-doc.org/stdlib-1.9.3/libdoc/net/http/rdoc/Net/HTTPHeader.html

于 2012-11-24T17:48:53.880 回答