使用elixir HTTPotion的Oauth echo

时间:2016-07-14 19:20:37

标签: curl httprequest elixir phoenix-framework twitter-digits

我试图在我的凤凰框架/ elixir后端验证twitter数字api ...当我使用curl它成功了,但我真的不知道如何使用HTTPotion生成它...我尝试了不同的组合但总是返回“215”,“错误验证数据”。

  

这是我使用curl时的代码

curl --get 'https://api.digits.com/1.1/sdk/account.json' --header 'Authorization: OAuth  oauth_signature="my-oauth-signature",oauth_nonce="my-oauty-nonce",oauth_timestamp="my-oauth-timestamp",oauth_consumer_key="my-oauth-consumer-key",oauth_token="my-oauth-token",oauth_version="1.0",oauth_signature_method="HMAC-SHA1"' -v
  

这是我到目前为止尝试使用HTTPotion但仍然没有   运气

HTTPotion.get "https://api.digits.com/1.1/sdk/account.json", [headers: ["Authorization": "OAuth", "oauth_consumer_key": "my-oauth-consumer-key", "oauth_nonce": "my-oauth-nonce", "oauth_signature": "my-oauth-signature", "oauth_signature_method": "HMAC-SHA1", "oauth_timestamp": "my-oauth-timestamp", "oauth_token": "my-oauth-token", "oauth_version": "1.0"]] 

我搜索了几天,但没有找到任何东西......请有人帮助我..

1 个答案:

答案 0 :(得分:1)

curl命令只创建1个Authorized标头,而不是HTTPotion代码之类的多个标头。

这应该有效:

HTTPotion.get("https://api.digits.com/1.1/sdk/account.json",
              [headers: ["Authorization": ~s|OAuth  oauth_signature="my-oauth-signature",oauth_nonce="my-oauty-nonce",oauth_timestamp="my-oauth-timestamp",oauth_consumer_key="my-oauth-consumer-key",oauth_token="my-oauth-token",oauth_version="1.0",oauth_signature_method="HMAC-SHA1"|]])