0

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

这是客户 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>

应该在回调 url 中放入什么,在重定向 url 中应该传递什么,以便流程重定向到我的应用程序?

在此处输入图像描述

4

2 回答 2

2

你的 callbackUrl 应该是这样plain://example.com的,并且在 android manifest 中还需要做一件事

android:host="example.com"
android:scheme="plain"
于 2016-03-29T10:52:33.870 回答
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、范围。

谢谢大家

于 2016-03-29T10:47:27.867 回答