GithubHelp home page GithubHelp logo

ok-android-sdk's People

Contributors

asimaruk avatar fantomasst avatar fmaxx avatar gilazov avatar iamtosuj avatar lintax avatar mikekudzin avatar mirinda avatar sntgl avatar thefilin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ok-android-sdk's Issues

error migrating to androidX

ERROR: Unable to resolve dependency for ':app@debug/compileClasspath': Failed to transform file 'odnoklassniki-android-sdk-2.1.5.aar' to match attributes {artifactType=processed-aar} using transform JetifyTransform

Ошибки в примере. Ошибка в авторизации. Ошибка в REST. Ошибка в WEB системе

Доброе время суток!

Использую compile 'ru.ok:odnoklassniki-android-sdk:2.0.3'.

По порядку:

  1. Ошибка в WEB системе добавления приложения: Создаю приложение. Заполняю все поля (нету отметок про обязательные поля). Не заполнил 50x50. Нажимаю Save. Ни одной ошибки о том, что не заполнил поле. Просто прокручивается страница вверх и ВСЕ. При повторном нажатии вылетает на главную страницу. Много ошибок в Firebug от Firefox.

  2. В примере https://github.com/odnoklassniki/ok-android-sdk/blob/master/odnoklassniki-android-sdk-example/src/main/java/ru/ok/android/sdk/example/MainActivity.java

return odnoklassniki.request("users.getCurrentUser", null, null);

ошибка

Error:(137, 37) error: reference to request is ambiguous both method request(String,Map<String,String>,String) in Odnoklassniki and method request(String,Map<String,String>,EnumSet<OkRequestMode>) in Odnoklassniki match

  1. В примере ниже постоянно пишет No valid token
odnoklassniki = Odnoklassniki.createInstance(this, APP_ID, APP_KEY);
odnoklassniki.checkValidTokens(new OkListener() {
    @Override
    public void onSuccess(JSONObject json) {
        showForm();
    }

    @Override
    public void onError(String error) {
        Log.d(TAG, "onError:" + error);
        Toast.makeText(OKActivity.this, String.format("%s: %s", "Error", error), Toast.LENGTH_LONG).show();
    }
});
  1. Авторизировался, все ок. Не могу получить инфу о пользователе, пишет PARAM : Parameter access_token specified but application is not EXTERNAL. Вот скриншот, что EXTERNAL отмечен https://ibb.co/gz9HDF.

Пробую получить инфу с помощью

return odnoklassniki.request("users.getCurrentUser", null, "GET");

  1. Почему на odnoklassniki.request("users.getCurrentUser", null, "GET"); пишет deprecated? Где посмотреть как по новому вызывать rest-методы?

Error: unsupported_response_type_for_this_app

При попытке авторизоваться получаю следующую ошибку: unsupported_response_type_for_this_app. Поиск этой ошибки в интернете не дал ничего. Ошибка возникает после ввода правильных логина и пароля как результат вызова вот этого метода:

mOdnoklassniki.requestAuthorization(prepareOkListener(), REDIRECT_URL, OkAuthType.ANY, OkScope.VALUABLE_ACCESS);

При первом вызове requestAuthorization появляется окно логина, если ввести неправильные логин-пароль дает ошибку, если ввести правильные то окно логина закрывается и OKListener возвращает unsupported_response_type_for_this_app.

При последующих вызовах checkValidTokens возвращает No valid token, далее идет вызов requestAuthorization - окно авторизации появляется на секунду и пропадает. OKListener опять дает ошибку unsupported_response_type_for_this_app.

Ошибка возникает как при авторизации через webview так и через приложение. Библиотека sdk самая последняя компилируется вместе с приложением. Старая версия SDK в составе asne авторизовалась нормально и даже работала.

Какую версию SDK вообще правильнее использовать ?

Not-null assertion в Odnoklassniki.request()

Сейчас в методе request класса Odnoklassniki используется not-null assertion для поля mAccessToken.

У нас происходили гонки состояний, поэтому приложение могло падать на этом assert'e (порядка 150 падений в день).

Предлагается сделать этот вызов безопасным:

        mAccessToken?.let { accessToken ->
            if (mode.contains(OkRequestMode.SIGNED)) {
                signParameters(requestParams)
                requestParams[PARAM_ACCESS_TOKEN] = accessToken
            }
        }

Использование com.google.android.gms

Класс OkDevice использует Google API для получения рекламного идентификатора устройства. При этом SDK сам по себе не использует эту функциональность. Предполагается, что этим кодом воспользуется пользователь для передачи результата в sdk.getInstallSource.

Таким образом пользователи SDK вынуждены подключать в своё приложение библиотеки Google-сервисов, даже если они на самом деле не нужны. В нашем случае приложение написано на Adobe AIR и OK SDK завёрнуто в расширение. Подключить туда гуглосервисы возможно, но крайне неудобно. А получить рекламный идентификатор мы можем и сами.

Имхо этот код нужно просто убрать из SDK и поместить его в примеры.

Crash

Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String[] java.lang.String.split(java.lang.String)' on a null object reference
at ru.ok.android.sdk.OkAuthActivity$OAuthWebViewClient.shouldOverrideUrlLoading(OkAuthActivity.java:244)
at com.android.webview.chromium.WebViewContentsClientAdapter.shouldOverrideUrlLoading(WebViewContentsClientAdapter.java:342)
at org.chromium.android_webview.AwContentsClient.shouldIgnoreNavigation(AwContentsClient.java:168)
at org.chromium.android_webview.AwContentsClientBridge.shouldOverrideUrlLoading(AwContentsClientBridge.java:257)
at org.chromium.base.SystemMessageHandler.nativeDoRunLoopOnce(SystemMessageHandler.java)
at org.chromium.base.SystemMessageHandler.handleMessage(SystemMessageHandler.java:41)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5422)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

OkAuthActivity crash

Fatal Exception: android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy@24eca3a6 is not valid; is your activity running?
at android.view.ViewRootImpl.setView(ViewRootImpl.java:680)
at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:289)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:85)
at android.app.Dialog.show(Dialog.java:311)
at android.app.AlertDialog$Builder.show(AlertDialog.java:993)
at ru.ok.android.sdk.OkAuthActivity.showAlert(OkAuthActivity.java:199)
at ru.ok.android.sdk.OkAuthActivity.access$300(OkAuthActivity.java:24)
at ru.ok.android.sdk.OkAuthActivity$OAuthWebViewClient.onReceivedError(OkAuthActivity.java:246)
at com.android.webview.chromium.WebViewContentsClientAdapter.onReceivedError(WebViewContentsClientAdapter.java:605)
at org.chromium.android_webview.AwContentsClientCallbackHelper$MyHandler.handleMessage(AwContentsClientCallbackHelper.java:7355)
at android.os.Handler.dispatchMessage(Handler.java:111)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5631)
at java.lang.reflect.Method.invoke(Method.java)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:959)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754)

Handle authorization cancelling

How handle authorization cancel event? OkListener callback allows to handle only onError and onSuccess events. But when user cancels authorization (e.g. taps back button), SDK fires onError callback (with Авторизация была отменена error message).

Не работает авторизация с одним API_KEY в разных приложениях

ru.ok:odnoklassniki-android-sdk:2.1.8
На устройстве должно быть установлено приложение "Одноклассники" (без него все работает).
При попытке авторизоваться приходит ошибка "Bad package name".
У нас 3 версии приложения, на которых мы используем один appId и appKey для одноклассников:

  1. Основное, на нем все работает
  2. Отличается только package name (applicationId), ошибка "Bad package name"
  3. Отличается package name и подпись (sha256), ошибка "Bad package name"

В админке нигде не задается package name, поэтому непонятно, почему приходит такая ошибка и как ее фиксить.

Старт авторизации:

    Odnoklassniki.instance.requestAuthorization(activity, "okauth://auth", OkAuthType.ANY, OkScope.VALUABLE_ACCESS, OkScope.PHOTO_CONTENT)

Обработка результат:

    fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
        if (!Odnoklassniki.hasInstance()) return
        Odnoklassniki.instance.onAuthActivityResult(requestCode, resultCode, data, object : OkListener {
            override fun onSuccess(json: JSONObject) {
                try {
                    val token = String.format("access_token: %s", json.getString("access_token"))
                    dispatchAsync(Data(State.TOKEN_RECEIVED, token))

                } catch (e: JSONException) {
                    dispatchAsync(Data(State.ERROR_TOKEN_RECEIPT))
                    errorLog("OK", "unable to parse login request ${e.message}")
                }
            }

            override fun onError(error: String?) {
                // error == "Bad package name"
                dispatchAsync(Data(State.CANCELLED))
                errorLog("OK", "onError $error")
            }

        })
    }

cannot import OkAuthListener

I have added
compile 'ru.ok:odnoklassniki-android-sdk:2.0.3'
Android Studio gives warning

Cannot resolve symbol 'OkAuthListener'

I added import ru.ok.android.sdk.OkAuthListener; but it gives the same warning.

On Error возвращает пустую строку

Версия SDK 2.1.5
При авторизации при помощи SDK в событие OnError иногда возвращается пустая строка, вместо описания ошибки

onActivityResult в родительском Activity был вызван c параметрами:
requestCode=22890, resultCode=2

Ошибка была замечена на 19 и 23 версиях Api Android

Если это штатная ситуация , что можно сообщить пользователю в данном случае?

Nullable аргумент обладает NonNull типом

Версия 2.1.8.
В методе Odnoklassniki.requestAuthorization есть аргумент @Nullable redirectUri: String. Он помечен аннотацией, однако сам тип не является nullable, т.к. он не String?. В связи с этим при использовании этого метода на котлине невозможно прокинуть null в качестве аргумента.

performPosting

При попытки вызвать виджет постинга получаю ошибку Parameter 'PHOTO id' is invalid, иногда появляется ошибка BAD id. В чем может быть проблема?
До этого получаю ссылку для загрузки сервера, загружаю картинку и получаю id и token картинки.
После этого создаю attachment
"{" +
""media":[" +
"{" +
""type":"text"," +
""text":"hello world!"" +
"},{" +
""type":"photo"," +
""list":[" +
"{" + ""id":"" + token + """ + "}," +
"{" + ""photoId":"" + id + """ + "}" +
"]" +
"}" +
"]" +
"}";
Подскажите , пожалуйста, где у меня ошибка...

java.lang.String cannot be cast to java.lang.Long at ru.ok.android.external.LoginExternal$AuthWebViewClient.shouldOverrideUrlLoading(LoginExternal.java:199)

Добрый день,

мне кажется есть проблемы во взаимодействии между ok-android-sdk и официальным приложением Odnoklassniki.

Я написал несложное приложение, которое получает access_token (использую credentials от официального примера):

    private OkListener mOdnoklassnikiCallback = new OkListener() {
        @Override
        public void onSuccess(final JSONObject json) {
            DatabaseService.fetchOdnoklassnikiUser(MainActivity.this);
        }

        @Override
        public void onError(String error) {
            Log.d(TAG, "Odnoklassniki onError: " + error);
        }
    };

и затем вызывает "users.getCurrentUser" из IntentService:

String jsonStr = Odnoklassniki.getInstance().request("users.getCurrentUser", null, OkRequestMode.DEFAULT);
JSONObject okUser = new JSONObject(jsonStr);
User user = new User(User.ODNOKLASSNIKI);
user.sid = okUser.getString("uid");
user.given = okUser.getString("first_name");
user.family = okUser.getString("last_name");
user.photo = okUser.getString("pic_3");

К сожалению, приложение иногда вылетает с ошибкой:

05-23 17:21:10.996 27448-27448/? W/Bundle: Attempt to cast generated internal exception:
                                           java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Long
                                               at android.os.BaseBundle.getLong(BaseBundle.java:835)
                                               at android.os.BaseBundle.getLong(BaseBundle.java:817)
                                               at ru.ok.android.external.LoginExternal$AuthWebViewClient.shouldOverrideUrlLoading(LoginExternal.java:199)
                                               at com.android.webview.chromium.WebViewContentsClientAdapter.shouldOverrideUrlLoading(WebViewContentsClientAdapter.java:357)
                                               at org.chromium.android_webview.AwContentsClient.shouldIgnoreNavigation(AwContentsClient.java:168)
                                               at org.chromium.android_webview.AwContentsClientBridge.shouldOverrideUrlLoading(AwContentsClientBridge.java:352)
                                               at org.chromium.base.SystemMessageHandler.nativeDoRunLoopOnce(Native Method)
                                               at org.chromium.base.SystemMessageHandler.handleMessage(SystemMessageHandler.java:41)
                                               at android.os.Handler.dispatchMessage(Handler.java:102)
                                               at android.os.Looper.loop(Looper.java:148)
                                               at android.app.ActivityThread.main(ActivityThread.java:5459)
                                               at java.lang.reflect.Method.invoke(Native Method)
                                               at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)
                                               at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)

Вот более полный лог:

                                                  --------- beginning of main
05-23 17:21:09.988 27481-27728/de.afarber.googleauth V/RenderScript: 0xb83cf038 Launching thread(s), CPUs 4
05-23 17:21:10.019 1788-3936/? I/ActivityManager: START u0 {cmp=ru.ok.android/.external.LoginExternal (has extras)} from uid 10184 on display 0
05-23 17:21:10.023 3813-8226/? D/ProcSpeedReader: Failed to read freq stats from null
05-23 17:21:10.042 21137-21137/? I/MemoryTrimmer: Trimming objects from memory, since app is in the background.
05-23 17:21:10.045 3813-8226/? D/ProcSpeedReader: Failed to read freq stats from null
05-23 17:21:10.088 27448-27467/? I/art: CollectorTransition marksweep + semispace GC freed 4406(43KB) AllocSpace objects, 1(16KB) LOS objects, 25% free, 10MB/13MB, paused 44.986ms total 44.986ms
05-23 17:21:10.106 27448-29686/? W/cr_BindingManager: Cannot setInForeground() - never saw a connection for the pid: 27448
05-23 17:21:10.110 1788-3856/? D/ConnectivityService: listenForNetwork for Listen from uid/pid:10166/27448 for NetworkRequest [ id=2274, legacyType=-1, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED] ]
05-23 17:21:10.189 1788-1807/? I/LaunchCheckinHandler: Displayed ru.ok.android/.external.LoginExternal,wp,ca,154
05-23 17:21:10.190 1788-1807/? I/ActivityManager: Displayed ru.ok.android/.external.LoginExternal: +155ms (total +219ms)
05-23 17:21:10.272 21137-21137/? I/MemoryTrimmer: Trimming objects from memory, since app is in the background.
05-23 17:21:10.579 27448-27448/? W/cr_BindingManager: Cannot call determinedVisibility() - never saw a connection for the pid: 27448
05-23 17:21:10.995 27448-27448/? W/Bundle: Key expires_in expected Long but value was a java.lang.String.  The default value 0 was returned.
05-23 17:21:10.996 27448-27448/? W/Bundle: Attempt to cast generated internal exception:
                                           java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Long
                                               at android.os.BaseBundle.getLong(BaseBundle.java:835)
                                               at android.os.BaseBundle.getLong(BaseBundle.java:817)
                                               at ru.ok.android.external.LoginExternal$AuthWebViewClient.shouldOverrideUrlLoading(LoginExternal.java:199)
                                               at com.android.webview.chromium.WebViewContentsClientAdapter.shouldOverrideUrlLoading(WebViewContentsClientAdapter.java:357)
                                               at org.chromium.android_webview.AwContentsClient.shouldIgnoreNavigation(AwContentsClient.java:168)
                                               at org.chromium.android_webview.AwContentsClientBridge.shouldOverrideUrlLoading(AwContentsClientBridge.java:352)
                                               at org.chromium.base.SystemMessageHandler.nativeDoRunLoopOnce(Native Method)
                                               at org.chromium.base.SystemMessageHandler.handleMessage(SystemMessageHandler.java:41)
                                               at android.os.Handler.dispatchMessage(Handler.java:102)
                                               at android.os.Looper.loop(Looper.java:148)
                                               at android.app.ActivityThread.main(ActivityThread.java:5459)
                                               at java.lang.reflect.Method.invoke(Native Method)
                                               at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)
                                               at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
05-23 17:21:11.001 3813-8226/? D/ProcSpeedReader: Failed to read freq stats from null
05-23 17:21:11.013 308-308/? I/SFPerfTracer:      triggers: (rate: 8623:295997) (compose: 189:10654) (post: 3:4883) (render: 399:19535) (43:1400598 frames) (44:1675435)
05-23 17:21:11.014 308-308/? D/SFPerfTracer:        layers: (4:13) (FocusedStackFrame (0xb76c0988): 0:8853)* (DimLayer (0xb7735218): 0:139)* (DimLayer (0xb7737690): 0:4)* (StatusBar (0xb76cd838): 0:156803) (com.android.systemui.ImageWallpaper (0xb7771380): 0:6504)* (DimLayer (0xb777c060): 0:6462)* (DimLayer (0xb7774ef0): 0:1848)* (NavigationBar (0xb7768ea0): 0:174) (Toast (0xb76cae38): 0:64)- (de.afarber.googleauth/de.afarber.googleauth.MainActivity (0xb778ecf8): 0:48)- (de.afarber.googleauth/de.afarber.googleauth.MainActivity (0xb76cae38): 0:25)- (Toast (0xb7783bc8): 16:35) (ru.ok.android/ru.ok.android.external.LoginExternal (0xb7772648): 43:49) 
05-23 17:21:11.017 3813-8226/? D/ProcSpeedReader: Failed to read freq stats from null
05-23 17:21:11.021 27448-27448/? W/cr_BindingManager: Cannot call determinedVisibility() - never saw a connection for the pid: 27448
05-23 17:21:11.030 1788-3934/? W/ActivityManager: Duplicate finish request for ActivityRecord{92eb758 u0 de.afarber.googleauth/ru.ok.android.sdk.OkAuthActivity t4901 f}
05-23 17:21:11.029 3813-8226/? D/ProcSpeedReader: Failed to read freq stats from null
05-23 17:21:11.038 3813-8226/? D/ProcSpeedReader: Failed to read freq stats from null
05-23 17:21:11.043 27481-27481/de.afarber.googleauth D/AutoManageHelper: onStart true {0=com.google.android.gms.internal.zzaaa$zza@4821cfe}
05-23 17:21:11.057 27481-27728/de.afarber.googleauth I/OpenGLRenderer: Initialized EGL, version 1.4
05-23 17:21:11.114 3318-3831/? I/NetworkController.MotorolaMobileSignalController(1): MotorolaMobilePhoneStateListener.onDataActivity: Entered: direction=3
05-23 17:21:11.285 27481-30260/de.afarber.googleauth I/SQLiteAssetHelper: successfully opened database social.db

С уважением

Ошибка постинга в ОК при определенной структуре доменного имени

При попытке постинга в одноклассники не открывается окно для подтверждения постинга. Если делать то же самое в тестовом приложении Одноклассников, подставив туда свои данные, выдается тост с ошибкой:
errors.web-grabber.communication-error.
Как оказалось, ошибка возникает из-за типа моей ссылки, на которую перенаправляется юзер после клика на пост (поле link в OK SDK). А именно, если в доменном имени присутствует несколько точек (напр. www.test.site.com, www.login.my.site.com).

Документация на сайте

В руководстве читаю, что
odnoklassniki.request(METHOD_NAME, params, "GET");

Делаю - вижу Deprecated

Как правильно делать запрос odnoklassniki.request - где можно увидеть пример

Authorization activity doesn't finish if account gets changed via Google

Steps to reproduce:

  1. Call requestAuthorization() method to open OkAuthActivity
  2. Click change account to open login screen
  3. Click forgot my password
  4. Click Sign in with Google
  5. Sign in successfully
  6. See the OK feed screen, not initial activity. Clicking back button leads to cancelling authorization or retrying it.

Same for the first sign in via Google. I don't have OK application on the test phone (maybe it matters).

Не устанавливается приложение на Android 5 с подключенным OK SDK

Собственно САБЖ.

После подключения OK Android SDK пользователи с Android 5 начали испытывать трудности при скачивании и установке приложения из Google Play.
Приложение вовсе не запускается, и выдает ошибку еще на этапе установки приложения.

Поскольку ошибка возникает еще на этапе установки, не приходит никаких отчетов о сбоях.

Чтобы выявить ошибку, собрали несколько тестовых сборок, и на устройствах Android 5 не устанавливается именно сборка с OK Android SDK.
Очевидно, что ошибка где-то в OK Android SDK.

Версия SDK 2.1.8

Участились IP_BLOCKED : REST access denied for not listed IP

Версия SDK 2.1.8

Время от времени у пользователей возникают ошибки:

IP_BLOCKED : REST access denied for not listed IP xxx.xxx.xxx.xxx (check app server ip configuration)

Причем, пару раз это было и на эмуляторе на машине разработчика, который явно имеет добропорядочный ip.

Проверьте, все ли ok у OK в этом вопросе.

Error: Отменено

При попытке авторизоваться через установленный клиент после ввода логина и пароля возвращается ошибка с текстом "Отменено".
Если повторить запрос авторизации - открывается окно, на котором подтверждается вход.
Через WebView авторизация с вводом логина и пароля проходит без ошибок.

OkTokenRequestListener

В документации на SDK сказано "Для обработки авторизации необходимо, чтобы активити реализовало интерфейс OkTokenRequestListener (методы onSuccess, onCancel и onError)"

В SDK не нашел OkTokenRequestListener

Не получается вернуться обратно в приложение после отмены в авторизации через клиента

В случае успешной авторизации я возвращаюсь в предыдущее активити, в случае отмены (backButton) - выкидывает домой, и мне приходится заходить в мое свернутое приложение. Есть идеи, как вернуться в активити?

Request

В руководстве читаю, что
odnoklassniki.request(METHOD_NAME, params, "GET");

Делаю - вижу Deprecated

Как правильно делать запрос odnoklassniki.request - где можно увидеть пример

По ссылке "Лучше посмотреть на примере, который внутри самого sdk в репозитории лежит - https://github.com/odnoklassniki/ok-android-sdk/blob/master/odnoklassniki-android-sdk-example/src/main/java/ru/ok/android/sdk/example/MainActivity.kt
Доку - запишем и обновим" примера нужно мне нету

Дайте готовый пример как правильно делать request - интересует именно эта функция

Заменить String в onError на Sealed class

Очень кривая реализация callback fun onError(error: String?), да и onSuccess(json: JSONObject) в OkListener.
Сделать в onError параметр Sealed class, для обработки ошибок. Мне важен тип ошибки: отмена пользователем доступа, или же это onBack, или это какая-то еще ошибка. Плюс вы возвращаете ЛОКАЛИЗИРОВАННЫЕ строки ошибок. Я не вывожу эти ошибки на экран, а завязываю логику. И для условия пришлось делать кучу const строк для одной ситуации. Это не правильный подход. Посмотрите как сделает Facebook SDK. Верните эти строке в поле класса.

Пример кода обработки ошибки, которого быть не должно:
private val OK_SDK_AUTH_CANCELED_CODES = listOf( "access_denied", "Authorization was canceled", "Авторизация была отменена" )

Так же в onSuccess хочется взять из объекта класса поле accessToken а не парсить JSON в режиме debug и вытаскивать из поля access_token, которое может поменяться и никто не заметит ошибки.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.