使用smarkets.com api的Ruby的RestClient - 向RestClient卷曲

时间:2010-07-30 22:31:47

标签: ruby rest curl rest-client

我正在使用的api是here

我能够正常登录并获得一个身份验证令牌,但无法弄清楚如何做任何需要令牌的事情。当我尝试获取或发布私人网址时,我收到了禁止回复。

他们举例说明了需要使用curl发送的请求:

卷曲\         --header'授权:UserLogin token =“kk5lvKJG1FohVbS3kcHllyTshdcBKX4FpFAKFnx_Eh0IYYpXN3Hg6HZLceXuYt7V52mCcdUk5i_GUMc~”'         -X POST \         'https://api.smarkets.com/v1/users/renew'

我的问题是:如何使用Ruby中的RestClient库发送等效请求?我有一种感觉,我搞乱了标题,因为RestClient中的标题都是{:key => 'value'}对,我不知道这将如何转换为示例中给出的标题。

1 个答案:

答案 0 :(得分:2)

在HTTP请求中,标头是由:分隔的键/值对,因此您需要发送的标头对是:

:authorization => 'UserLogin token="kk5lvKJG1FohVbS3kcHllyTshdcBKX4FpFAKFnx_Eh0IYYpXN3Hg6HZLceXuYt7V52mCcdUk5i_GUMc~"'

因此,要重现您在示例中提供的请求:

RestClient.post 'https://api.smarkets.com/v1/users/renew', '', :authorization => 'UserLogin token="kk5lvKJG1FohVbS3kcHllyTshdcBKX4FpFAKFnx_Eh0IYYpXN3Hg6HZLceXuYt7V52mCcdUk5i_GUMc~"'