我们已在我们的应用程序中集成了Uber API。我们直接从我们的应用程序请求uber ride,这需要授权令牌。
我们正在使用以下代码进行授权,
[[NXOAuth2AccountStore sharedStore] requestAccessToAccountWithType:_applicationName
withPreparedAuthorizationURLHandler:^(NSURL *preparedURL){
[[UIApplication sharedApplication] openURL:preparedURL];
}];
它重定向到safari,用户将从那里输入他/她的凭证。控制返回到应用程序,我们获得授权令牌。一切正常!
我们可以通过其他方式在app或uber应用程序中执行此操作,而不是导航到safari吗?
答案 0 :(得分:0)
您需要在ssl LSApplicationQueriesSchemes中添加uber并使用uber架构uber://启动url,如果它安装在设备中,它将打开uber应用程序。
答案 1 :(得分:0)
如果你使用Uber Rides iOS SDK提供了一个"那里有Uber按钮"将用户重定向到Uber应用程序,并结合不需要用户登录的API Token / Server Authentication Uber API端点:
- GET / v1 / products
- GET / v1 /估计/时间
- GET / v1 /估计/价格
您无需通过OAuth 2.0进行用户授权和身份验证。
否则,如果您需要使用Uber API代表用户发出请求(即不使用Uber应用),您必须实施授权和身份验证使用OAuth 2.0 protocol flow使用浏览器/ webview时,Uber应用程序无法用于此。
在开始之前,您应该确定您的访问级别 应用需求。许多应用程序只使用产品,价格 估计和时间估计端点。对于这些,你只需要 使用server_token通过API令牌访问资源 认证
如果您的应用程序代表Uber用户访问资源, 例如,使用Me和User Activity端点,您将需要 按照三条腿OAuth 2.0流程获取 的access_token。