如何在 Android 中对 Uber SDK 中的用户进行身份验证?

     2023-03-04     34

关键词:

【中文标题】如何在 Android 中对 Uber SDK 中的用户进行身份验证?【英文标题】:How to authenticate user in Uber SDK in Android? 【发布时间】:2016-10-01 19:10:20 【问题描述】:

参考this link,我将 Uber sdk 集成到我的应用程序中。在我在 Uber 开发者网站上注册我的应用程序之前,我得到了我的客户端 ID 和客户端密码。

我在我的应用程序类中添加了以下代码:

UberSdk.initialize(this, "MY_CLIENT_ID");

UberSdk.setRedirectUri("MY_REDIRECT_URI");

UberSdk.setSandboxMode(true);

然后在我的片段中:

oncreate():

accessTokenManager = new AccessTokenManager(getContext());
    loginManager = new LoginManager(accessTokenManager);
    List<Scope> scopes = new ArrayList<Scope>();
    scopes.add(Scope.PROFILE);
    scopes.add(Scope.RIDE_WIDGETS);

    Date expirationTime = new Date(System.currentTimeMillis());
    String token = "Token";
    AccessToken accessToken = new AccessToken(expirationTime, scopes, token);

    accessTokenManager.setAccessToken(accessToken);

    Log.d("ttt", "accessToken: " + accessTokenManager.getAccessToken());


    loginManager.loginWithScopes(getActivity(), scopes);

onActivityResult():

LoginCallback loginCallback = new LoginCallback() 
    @Override
    public void onLoginCancel() 
        // User canceled login
        Log.d("ttt", " User canceled login " );
        Toast.makeText(getContext(), "User canceled login", Toast.LENGTH_SHORT).show();
    

    @Override
    public void onLoginError(@NonNull AuthenticationError error) 
        // Error occurred during login
        Log.d("ttt", "Error occurred during login" );
        Toast.makeText(getContext(),"Error occurred during login",Toast.LENGTH_SHORT).show();
    

    @Override
    public void onLoginSuccess(@NonNull AccessToken accessToken) 
        // Successful login!  The AccessToken will have already been saved.
        Log.d("ttt", "Successful login! " );
        Toast.makeText(getContext(),"Successful login!",Toast.LENGTH_SHORT).show();
    
;

loginManager.onActivityResult(requestCode, resultCode, data, loginCallback);

我不知道如何添加重定向 uri 以及从哪里获得重定向 uri。它的实际用途是什么(搜索了很多仍然不清楚它的作用)。

单击 Uber 乘车按钮后,它会导航到一些登录活动,并显示一个弹出窗口,提示“验证您的身份时出现问题”。

我在这里做错了什么?

【问题讨论】:

【参考方案1】:

这里有一篇很棒的文章,介绍了在 Oauth 2.0 中重定向 URI 的用途。 What's a redirect URI? how does it apply to iOS app for OAuth2.0?.

TLDR:您的应用程序可能存在于 Web 和移动应用程序上,并且重定向 URI 是在流程完成后重定向回的端点。对于移动客户端,您可以在Uber developer dashboard 中轻松地将重定向 URI 设置为“http://localhost”,因为它与网络上的要求不同。

我们正在研究进一步简化此功能,因此请密切关注我们未来的版本!

【讨论】:

非常感谢 tsmith...这些链接很有帮助。

如何在unity中对程序进行android真机断点调试

...进行测试。1)使用UnityRemote的第一步是自己的机器上安装AndroidSDK和你使用手机的驱动。SDK下载地址请自行baidu,手机驱动一般可以在对应品牌的官网找到。这里要注意,如果你的手机系统版本是4.1以上的,请将SDK中的adb升级至最... 查看详情

如何在unity中对程序进行android真机断点调试

...进行测试。1)使用UnityRemote的第一步是自己的机器上安装AndroidSDK和你使用手机的驱动。SDK下载地址请自行baidu,手机驱动一般可以在对应品牌的官网找到。这里要注意,如果你的手机系统版本是4.1以上的,请将SDK中的adb升级至最... 查看详情

如何在 android 中对 VideoView 执行放大/缩小?

】如何在android中对VideoView执行放大/缩小?【英文标题】:Howtoperformzoomin/outonVideoViewinandroid?【发布时间】:2013-12-0910:26:24【问题描述】:我正在使用VideoView并从资源中运行视频。我想知道,有什么方法可以对正在播放的视频进行... 查看详情

如何在登录回调中使用授权码获取 UBER 访问令牌

】如何在登录回调中使用授权码获取UBER访问令牌【英文标题】:HowtogetUBERAccesstokenusingauthorizationcodeinLoginCallback【发布时间】:2018-03-2721:49:39【问题描述】:我正在使用请求范围(受限)配置ubersdk。在LoginManager回调方法onAuthorizati... 查看详情

如何在android中对Log.e进行单元测试?

】如何在android中对Log.e进行单元测试?【英文标题】:HowtounittestLog.einandroid?【发布时间】:2016-12-1606:39:24【问题描述】:我需要执行一个单元测试,我需要检查当我的应用中发生某种情况时是否记录了错误消息。try//dosomethingcatc... 查看详情

如何在Android中对图像应用缩放、拖动和旋转[关闭]

】如何在Android中对图像应用缩放、拖动和旋转[关闭]【英文标题】:Howtoapplyzoom,dragandrotationtoanimageinAndroid[closed]【发布时间】:2011-09-2812:44:00【问题描述】:有人可以告诉我在Android应用程序中应用缩放、拖动和旋转图像的教程吗... 查看详情

如何在集成到 android 应用程序的leanplum A/B 测试中对用户集进行分组?

】如何在集成到android应用程序的leanplumA/B测试中对用户集进行分组?【英文标题】:HowtogroupsetofusersinleanplumA/Btestingintegratedtoandroidapp?【发布时间】:2015-12-1706:28:11【问题描述】:我已将leaplumA/b测试与我的Android应用程序集成,并... 查看详情

android - 像 uber 应用一样的底页

】android-像uber应用一样的底页【英文标题】:android-Bottomsheetlikeuberapp【发布时间】:2017-12-0910:17:20【问题描述】:我正在研究底部工作表,我根据link的教程构建了类似的东西。我想知道如何将类似于Uber应用程序的功能组合在一... 查看详情

如何在android中具有某些条件的最新sdk版本中重复通知?

】如何在android中具有某些条件的最新sdk版本中重复通知?【英文标题】:Howtorepeatnotificationintherecentsdkversionwithcertainconditionsinandroid?【发布时间】:2019-09-3006:57:53【问题描述】:我在这个主题中找到了很多答案。示例Howtorepeatnotifi... 查看详情

Google 在 Appcompactivity - Android 中对 AutoCompleteTextView 进行 api 调用

】Google在Appcompactivity-Android中对AutoCompleteTextView进行api调用【英文标题】:GoogleplaceapicallonAutoCompleteTextViewinAppcompactivity-Android【发布时间】:2020-05-0806:37:59【问题描述】:如何使用Google地点API在EditText中获得地点建议?【问题讨论... 查看详情

当我在我的项目中添加 uber sdk gradle 时,它​​返回 500+ 编译错误

】当我在我的项目中添加ubersdkgradle时,它​​返回500+编译错误【英文标题】:WhenIaddubersdkgradleinmyproject,Itsreturning500+compilationerror【发布时间】:2016-10-2904:08:14【问题描述】:信息:Gradle任务[:app:clean,:app:generateDebugSources,:app:prepare... 查看详情

如何在 android 中对 JSON 对象键进行排序/排列? [复制]

】如何在android中对JSON对象键进行排序/排列?[复制]【英文标题】:HowtoSort/ArrangetheJSONObjectkeysinandroid?[duplicate]【发布时间】:2012-10-1607:53:29【问题描述】:可能重复:SortJavaScriptobjectbykey我正在从Android中的JSONObject创建JSONArray。我... 查看详情

如何在 Android SDK 中启用/禁用 3G/2G

】如何在AndroidSDK中启用/禁用3G/2G【英文标题】:Howtoenable/disable3G/2GinAndroidSDK【发布时间】:2011-09-0410:56:55【问题描述】:我只是想知道如何使用AndroidSDK启用/禁用3G/2G,而不仅仅是打算进入3G设置页面。谢谢。还有一种方法可以... 查看详情

如何在 IntelliJ IDEA 中使用 SBT 构建 Uber JAR (Fat JAR)?

】如何在IntelliJIDEA中使用SBT构建UberJAR(FatJAR)?【英文标题】:HowtobuildanUberJAR(FatJAR)usingSBTwithinIntelliJIDEA?【发布时间】:2015-04-1202:50:06【问题描述】:我正在使用SBT(在IntelliJIDEA中)构建一个简单的Scala项目。我想知道构建UberJAR文... 查看详情

如何在 Android SDK for Chromecast 中切换活动

】如何在AndroidSDKforChromecast中切换活动【英文标题】:HowdoIswitchactivitiesinAndroidSDKforChromecast【发布时间】:2015-01-0119:27:35【问题描述】:我正在运行标准的ChromecastSender应用程序。这是我用来连接chromecast并转到下一个活动的代码:... 查看详情

如何在 Xamarin.Android 中更新 Maps SDK(版本 18.0)?

】如何在Xamarin.Android中更新MapsSDK(版本18.0)?【英文标题】:HowtoupdateMapsSDK(version18.0)inXamarin.Android?【发布时间】:2021-12-1819:59:58【问题描述】:我是Xamarin.Android的新手。我正在尝试更新适用于Android的GoogleMapsSDK(版本18.0.0),... 查看详情

如何在 Eclipse 中打开示例 Android SDK 应用程序

】如何在Eclipse中打开示例AndroidSDK应用程序【英文标题】:HowdoiopenasampleAndroidSDKappinEclipse【发布时间】:2011-06-0302:29:30【问题描述】:我在Eclipse中为Android2.1创建了一个基本程序。然后我想看一些示例,并导入SDK目录中的示例项... 查看详情

如何在 expo 中添加 Agora.io Android sdk?

】如何在expo中添加Agora.ioAndroidsdk?【英文标题】:HowtoaddAgora.ioAndroidsdkinexpo?【发布时间】:2019-02-1509:49:52【问题描述】:我正在设置一个新的expo应用程序并希望在我的应用程序中获得支持。我想知道如何将agora.io的androidsdk添加... 查看详情