-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」のように使用しましたが、パラメーターごとに適切な出力が得られませんでした。しかし、認証データを適切に送信できないため、ルビーはまったく機能しません)。

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 に答える