【问题标题】:How to identificate if it's a Dropbox auth?如何识别它是否是 Dropbox 身份验证?
【发布时间】:2017-06-14 01:18:11
【问题描述】:

我计划在我的应用中使用不同的存储类型。我从 Dropbox 开始。它有一个有用的方法,可以进入意图,授权用户,并返回到最后一个活动:

String key = settings.getString ("dropbox_key", "");
Auth.startOAuth2Authentication (SettingsActivity.this, key);

我可以在活动中使用onResume () 方法处理它的数据,但是我如何确定我是通过 Dropbox auth 而不是 Google 和其他 Oauth 应用程序返回给它的,因为我想在一个活动中使用它,但获取不同的数据并将其写入不同的设置值。我认为这将是一种 BROWSABLE 类别类型的活动,由 URL 打开,Dropbox 将其用作回调并将必要的参数传递给它,但我试图通过getIntent().getData() 获取它的数据,但它总是为空。

Dropbox 活动与其默认代码连接,因此我无法传递自己的活动 uri:

     <activity
        android:name="com.dropbox.core.android.AuthActivity"
        android:configChanges="orientation|keyboard"
        android:launchMode="singleTask"
        android:theme="@android:style/Theme.Translucent.NoTitleBar"
    >
        <intent-filter>

            <data android:scheme="db-xxxxxxxxxxx"/>

            <action android:name="android.intent.action.VIEW"/>

            <category android:name="android.intent.category.BROWSABLE"/>
            <category android:name="android.intent.category.DEFAULT"/>

        </intent-filter>

    </activity>

提前致谢。

【问题讨论】:

    标签: android oauth dropbox dropbox-api


    【解决方案1】:

    如果您在 Android 应用中使用 Dropbox API v2 Java SDK,您应该在 onResume as shown in the example app 中处理应用授权流程的结束。

    您可以使用 Auth.getOAuth2Token 的返回值来检查用户是否从 Dropbox 应用授权流程返回。也就是说,如果返回值为非 null,则它是作为 Dropbox 应用授权流程的结果返回的访问令牌。

    如果为 null,则表示用户不会因为 Dropbox 应用授权流程而返回应用。

    【讨论】:

    • 啊,我认为如果不是 Dropbox 身份验证,这将是一种不调用任何 Dropbox 方法的方法,但它只是一个解决方案,谢谢。
    猜你喜欢
    • 1970-01-01
    • 2015-06-26
    • 1970-01-01
    • 2015-05-03
    • 2010-10-18
    • 1970-01-01
    • 1970-01-01
    • 2015-11-30
    • 1970-01-01
    相关资源
    最近更新 更多