odnoklassniki / ok-android-sdk

Android SDK & samples for native apps integrated with OK.RU
Apache License 2.0
20 stars 28 forks source link

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

Closed proft closed 7 years ago

proft commented 7 years ago

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

Использую 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-методы?
lintax commented 7 years ago
  1. обновляем на более новую версию, текущая 2.0.8
  2. см пункт 1
  3. ну да, пользователь еще не логинился в ваше приложение, вы сами пишете эту ошибку
  4. либо запрос шлете не от того приложения, от которого скриншот, либо галку на EXTERNAL только добавили и кеши её ещё не увидели. попробуйте еще раз
  5. в javadoc указан под тегом @see рекомендуемый вариант
proft commented 7 years ago

Спасибо за быстрый ответ!

  1. Таже ошибка. Прошло уже 3 часа, думаю кэш уже обновился... Скрин от того приложения. Проверил в браузере и телефоне. Можете посмотреть со своей стороны? APPID 1251379200

  2. Ок, попробую. Обновите тут README тоже, что-бы другие разработчики тоже были в курсе.

  3. Код взял из примера, тут же (sample). Думал он рабочий :)

lintax commented 7 years ago
  1. обновите все-таки SDK (ну и убедитесь что APP_KEY тоже на правильное приложение указан - на публичный ключ)
  2. в текущей версии того deprecated метода больше нет
proft commented 7 years ago

Обновил. Не помогло. https://ibb.co/mNOcDF

Возращает: {"error_code":100,"error_msg":"PARAM : Parameter access_token specified but application is not EXTERNAL","error_data":null}.

В примерах тут есть testIfInstallationSourceIsOK метод. Он возвращает exception "{"error_code":100,"error_msg":"PARAM : Selected platform is not allowed for this application","error_data":null}"

Смотрю снова настройки приложения: https://ibb.co/kqa2fv. Все отметки стоят.

lintax commented 7 years ago

Я через sample application введя ID и KEY вашего приложения

  1. Залогинился в приложение (через client OAUTH)
  2. testIfInstallationSourceIsOK вернул 0 - инсталляция произошла не из ОК платформы
  3. Вызвал users.getCurrentUser и получил ответ с пользователем

Так что повторяю, вероятно вы ключ неверный прописали (нужен публичный ключ который C...A

proft commented 7 years ago

пересоздал приложение с 0, подключил все снова - заработало! спасибо!

подскажите еще: где посмотреть как отправить изображение в ленту пользователя?