【发布时间】:2014-09-01 03:01:00
【问题描述】:
我是一名网络开发学生,正在尝试使用Instagram API。我以前从未处理过 OAuth。
到目前为止,我可以从授权我使用他们的 Instagram 凭据的用户那里获取代码,但是获取实际令牌的 POST 请求却让我无法理解。我正在尝试将 Typhoeus 用于服务器端 API 请求,但我被挂断的地方是将 curl 命令转换为可用的 rails 控制器脚本。
Instagram API 推荐以下 curl 命令:
curl \-F 'client_id=CLIENT-ID' \
-F 'client_secret=CLIENT-SECRET' \
-F 'grant_type=authorization_code' \
-F 'redirect_uri=YOUR-REDIRECT-URI' \
-F 'code=CODE' \https://api.instagram.com/oauth/access_token
这是我对 Typhoeus POST 请求的尝试:
request = Typhoeus::Request.new(
"https://api.instagram.com/oauth/access_token",
method: :post,
:body => {:client_id => CLIENT_ID,
:client_secret => CLIENT_SECRET,
:grant_type => "authorization_code",
:redirect_uri => CALLBACK_URL,
:code => code}
)
@results = JSON.parse((request.run).body)
当我尝试记录@results 时出现以下错误:
{"code"=>400, "error_type"=>"OAuthException", "error_message"=>"You must provide a client_id"}
我拥有 API 所需的所有信息,但我只是不知道如何正确排列它们……是的,所有常量都已定义。任何帮助表示赞赏!
【问题讨论】:
标签: ruby-on-rails curl oauth-2.0 instagram