URL проверки подлинности Dribbble не работает в Android
Это api doc. 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 перенаправления, чтобы поток перенаправлял в мое приложение?
2 ответа
Ваш callbackUrl должен быть как plain://example.com
и есть еще одна вещь, которую нужно сделать в манифесте Android
android:host="example.com"
android:scheme="plain"
Просто вставьте 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");
}
Вызовите URL для входа в систему " https://dribbble.com//oauth/token" с помощью dribbble_client_id, dribbble_client_secret и этого кода. вы получите access_token, token_type, область действия в json.
Спасибо всем