Tag: uber api

有没有办法从Uber API(时间离开/票价到目的地)获取信息,而无需安装乘车小部件?

有没有一种方法可以通过与Uber API的纯粹深层链接获取信息(time away / fare estimate)。 基本上我希望用户在我的应用程序上预览这些信息,但要与Uber应用程序(而不是Ride Widget)进行深层链接。 问题是,取得这显然需要通过login授权,只有小部件提供。 有没有我不知道或解决这个问题的方法?

Uber API端点不能与真正的服务器域一起工作,但可以很好地与沙箱配合使用

我一直在testingUber API一个月,最近我看到一些不稳定的行为。 在我的代码中,Uber端点返回了一些不寻常的响应。 现在我在下面粘贴我的代码的屏幕截图: 你可以看到我有一个全局的stringtypesvariables“baseURL”,我继续在真实服务器和沙箱之间切换,如下所示:“ https://api.uber.com/v1 ”和“ https://sandbox-api.uber .com / v1 “ 但是从我的testing结果来看,我可以说沙盒中的大多数API都能很好地工作,但是当我切换到真正的服务器域时,我testing过的所有这些都根本不起作用。 更新:对于沙箱环境, /v1/estimates/time也不起作用。 它会返回401 。 我的请求url是这样的: https://sandbox-api.uber.com/v1/estimates/time?server_token=myToken&start_latitude=39.914097&start_longitude=116.458539 : https://sandbox-api.uber.com/v1/estimates/time?server_token=myToken&start_latitude=39.914097&start_longitude=116.458539 。 1) POST /v1/request/estimate 我确定“POST”是Uber API文档build议的( https://developer.uber.com/v1/endpoints/ )。 但是,当我切换到真正的服务器(沙箱工作没有问题,相同的代码)时,这个屏幕截图被采取。 它返回: "Method not supported for this endpoint." / "method_not_allowed"与405 code 。 2) POST /v1/requests 与下面的真实服务器(沙箱运行良好)相同的行为,它也返回"invalid OAuth 2.0 credentials provided." / "unauthorized" 405 code 。 但我敢肯定,我可以使用相同的凭据在沙箱中发出请求。 […]

SFSafariViewController删除OAuth2 Cookie

我有一个iOS应用程序,使用UIWebView OAuth2使用Uber API进行身份validation。 当升级到iOS 9时,我遇到了阻止login页面的https请求的ATS问题。 然后,我为Uberlogin页面添加了一个例外,但后来注意到login页面向Facebook,Amazon Web Services和其他网站发出了其他几个请求,都被ATS阻止。 我不想维护Uberlogin页面的例外列表,因为Uber可以轻松地更改他们的页面,我的应用程序将不会有正确的例外。 所以我决定给SFSafariViewController一个镜头。 我能够使用SFSafariViewController完成OAuth2进程,问题是当身份validation完成时,Uber会存储某些types的Cookie。 如果我想validation一个不同的帐户,并再次调出SFSafariViewController ,则cookie会从之前的validation中提取出来,并且没有机会validation其他帐户。 我通过使用UIWebView通过NSHTTPCookieStorage删除cookie来解决这个NSHTTPCookieStorage ,但是我没有看到从SFSafariViewController删除cookie的SFSafariViewController 。

优步无效的OAuth 2.0凭据提供Uber身份validation在iOS Swift中

我在我的iOS(Swift)应用程序中实现Uber的Request Endpoint 。 Request API / Endpoint需要使用应用程序的用户身份validation,这里是文档 。 为此,我使用这个Oauth2.0库 我做的是 在给定的安装说明的帮助下,成功地将库集成到我的项目(xCode)中。 在我的AppDelegate let uber_OAuth_Settings = [ "client_id": "XXXXXXX9vtKzobvXXXXXX", "client_secret": "EXXXXXXXXyFUNCa_Wez6AXXXXXXXnrXtxus", "authorize_uri": "https://login.uber.com/oauth/authorize", "token_uri": "https://login.uber.com/oauth/token", "redirect_uris": ["jamesappv2://oauth/callback"], // don't forget to register this scheme ] as OAuth2JSON var oauth:OAuth2CodeGrant! 在我的方法didFinishLaunchingWithOptions的Appdelegate oauth = OAuth2CodeGrant(settings: uber_OAuth_Settings) oauth.viewTitle = "Uber Login Service" // optional oauth.verbose = true // For […]