dribbble authentication url在android中不起作用

时间:2016-03-25 12:12:28

标签: android login callbackurl

这是api doc。 http://developer.dribbble.com/v1/oauth/

这是客户端ID:

客户ID

3acdea730eaae4ea51dadf296be4e8edf7cd4b6ab030ce69c1de0d1a335b679d

客户端秘密

4a9773911cd2304fa23047e703e35fffbd443f32a9c73207aa60b45852e17b64

客户端访问令牌

57fe6dc09292e4dadce94a3dc9fd895117792a48f7194bbc5b8bd229e6ef1388

Java代码

String LOGIN_CALLBACK = "placeholder.com";
String LOGIN_URL = "https://dribbble.com/oauth/authorize?client_id="
            + "3acdea730eaae4ea51dadf296be4e8edf7cd4b6ab030ce69c1de0d1a335b679d"
            + "&redirect_uri=http%3A%2F%2F" + LOGIN_CALLBACK
            + "&scope=public+write+comment+upload";

context.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(LOGIN_URL)));
清单中的

<activity
            android:name=".DribbbleLogin"
            android:exported="true"
            android:launchMode="singleTop">
            <intent-filter>
                <data
                    android:host="dribbble-auth-callback"
                    android:scheme="plain" />
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
            </intent-filter>
        </activity>

应该在回调网址中放置什么以及应该在重定向网址中传递什么,以便将流重定向到我的应用?

enter image description here

2 个答案:

答案 0 :(得分:2)

你的callbackUrl应该像plain://example.com一样,还有一件事需要在android清单中完成

android:host="example.com"
android:scheme="plain"

答案 1 :(得分:0)

只需输入callbackurl“plain://example.com”

清单中的

<activity
            android:name=".DribbbleLogin"
            android:exported="true"
            android:launchMode="singleTop">
            <intent-filter>
                <data
                    android:host="example.com"
                    android:scheme="plain" />
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
            </intent-filter>
        </activity>

在DribbbleLogin活动中

String loginCallback = "electedface.com";
String code;
Intent intent = getIntent();
if (intent != null
                && intent.getData() != null
                && !TextUtils.isEmpty(intent.getData().getAuthority())
                && loginCallback.equals(intent.getData().getAuthority())) {
    code = intent.getData().getQueryParameter("code");
}

使用dribbble_client_id,dribbble_client_secret和此代码调用登录网址“https://dribbble.com//oauth/token”。你将在json中获得access_token,token_type,scope。

全部谢谢