我想向facebook图表发出一个http请求(使用httparty gem)以检查来自客户端的令牌是否有效,但我认为插值不适用于httparty
response = HTTParty.get("https://graph.facebook.com/me?access_token=#{params[:access_token]}")
render json: response
但这给了我回复
{"error":{"message":"Bad signature","type":"OAuthException","code":1}}
我错过了什么吗?
答案 0 :(得分:0)
我认为插值不适用于httparty
插值是一种Ruby语法功能;你的字符串在传递给HTTParty之前进行插值。
您可以通过检查网址调试此内容:
uri = "https://graph.facebook.com/me?access_token=#{params[:access_token]}"
Rails.logger.info(uri)
response = HTTParty.get(uri)
无论如何,在使用HTTParty的查询参数时,不应该使用插值。您应该使用:query
选项传递它们,这将确保参数编码正确:
response = HTTParty.get( "https://graph.facebook.com/me",
query: { access_token: params[:access_token] })
但是,我不确定这实际上会解决您的问题。这个问题很可能真的存在于你的OAuth流中的其他地方 - 使用OAuth时存在很多错误。