我正在尝试解析从foursquare api(回调URL)返回的URL,问题是请求是以这种格式出现的
0.0.0.0:4567/foursquare#access_token=KCZGA4JIR4N3QXXAASZTZRYWHU2TYJITM53LARSKHRVFPHQ
正如您所看到的那样,hashtag正在破坏我的代码,因为使用request.url
或整个请求对象无处可寻。
有人解决了这个问题吗?我不是在尝试进行身份验证,我已经在iOS应用程序中执行此操作。
require 'sinatra'
require 'json'
require 'dm-core'
require 'dm-validations'
require 'dm-timestamps'
require 'dm-migrations'
require 'dm-ar-finders'
# where foursquare sent us after authorization
get "/foursquare" do
puts "Receiving ..." + request.url
end
答案 0 :(得分:1)
可能不是你想听到的,但快速解决方法是让你的Sinatra(假设给定你的端口号)进行身份验证而不是iOS应用程序。通过这种方式,您可以利用omniauth-foursquare gem https://github.com/arunagw/omniauth-foursquare/blob/master/lib/omniauth/strategies/foursquare.rb,它将为您完成大部分解析。
根据Foursquare的API页面https://developer.foursquare.com/resources/client,他们建议也进行基于网络的身份验证。