现在我可以提出如下要求:
user = 'xxx'
token = 'xxx'
survey_id = 'xxx'
response = RestClient.get "https://survey.qualtrics.com/WRAPI/ControlPanel/api.php?Request=getLegacyResponseData&User=#{user}&Token=#{token}&Version=2.0&SurveyID=#{survey_id}&Format=XML"
Run Code Online (Sandbox Code Playgroud)
但应该有一些更好的方法来做到这一点.我尝试过这样的事情:
response = RestClient.get "https://survey.qualtrics.com/WRAPI/ControlPanel/api.php", :Request => 'getLegacyResponseData', :User => user, :Token => token, :Version => '2.0', :SurveyID => survey_id, :Format => 'XML'</code>
Run Code Online (Sandbox Code Playgroud)
及其变化(字符串代替键的符号,包括{和},使键小写等)但我试过的组合似乎都没有用.这里的语法是什么?
我尝试了下面的第一个建议.它没用.为了记录,这工作:
surveys_from_api = RestClient.get "https://survey.qualtrics.com/WRAPI/ControlPanel/api.php?Request=getSurveys&User=#{user}&Token=#{token}&Version=#{version}&Format=JSON"
Run Code Online (Sandbox Code Playgroud)
但这不是:
surveys_from_api = RestClient.get "https://survey.qualtrics.com/WRAPI/ControlPanel/api.php", :params => {:Request => 'getSurveys', :User => user, :Token => token, :Version => version, :Format => 'JSON'}
Run Code Online (Sandbox Code Playgroud)
(我设置版本='2.0').
Paf*_*fjo 12
您需要使用符号:params指定查询字符串参数.否则它们将用作标题.
使用params的示例:
response = RestClient.get "https://survey.qualtrics.com/WRAPI/ControlPanel/api.php", :params => {:Request => 'getLegacyResponseData', :User => user, :Token => token, :Version => '2.0', :SurveyID => survey_id, :Format => 'XML'}
Run Code Online (Sandbox Code Playgroud)