Какой redirect_uri указывать для Android приложения в Одноклассниках?

Здравствуйте, пытаюсь прикрутить Одноклассники к Android-приложению, чтобы получать имя, пол, фото и город текущего пользователя. Sharing не нужен, поэтому VALUABLE_ACCESS не запрашивал.

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

mOdnoklassniki = Odnoklassniki.createInstance(context, 
    "1158060544", APP_SECRET_KEY, "CBALJHAGEBABABABA");

mOdnoklassniki.setTokenRequestListener(this);
mOdnoklassniki.requestAuthorization(getContext(), this, true);


на смартфоне (хотя там и установлено официальное приложение OK) запускается браузер и показывает

https://odnoklassniki.ru/oauth/authorize?client_id=1158060544
&response_type=code
&redirect_uri=okauth%3A%2F%2Fok1158060544
&layout=m&tkn=4561&scope=null


В настройках приложения на Одноклассниках я указал его "тип" как "Внешнее приложение, Android приложение" (причем "Внешнее" вставляется само).

В поле "redirect_uri" я перепробовал след. значения:

okauth://ok1158060544         (предложено в Android-примере на apiok.ru?)
ok1158060544://authorize     (предложено в iOS-примере на apiok.ru?)
http://slova.de                   (будущий сайт поддержки моего приложения)
http://localhost                 (от отчаяния, все равно не катит)


Галочку "Разрешить клиентскую OAuth авторизацию" я включил.

В файле AndroidManifest.xml у меня (наряду с Фейсбуком, Вконтакте и Гугл+) прописано

<activity
            android:name="ru.ok.android.sdk.OkAuthActivity"
            android:launchMode="singleTask"
            android:configChanges="orientation">
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />

                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />

                <data
                    android:scheme="okauth"
                    android:host="ok1158060544" />
            </intent-filter>
        </activity>


ОБНОВЛЕНИЕ:

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

mOdnoklassniki.requestAuthorization(getContext(), this, true)


Я поменял теперь последний параметр на false.

Кроме того, я внес следующие redirect_uri в настройках своего приложения после перепрочтения документа Клиентская авторизация OAuth:

eb8a48475f9b4a32af17a13c5f51795f.png

Но все равно проблемы - появляется оранжевое окно и пишет потом, что не может связаться.

Причем пробовал и на эмуляторе и на HTC M8 и в двух разных немецких провайдерах...

И пробовал оба примера с GitHub Одноклассников, старый и новый - оба пишут, что не могут связаться c api.ok.ru

Пожалуй, сделаю паузу на пару недель, не хочется тратить все свое время на ОК... спасибо за внимание
  • Вопрос задан
  • 1262 просмотра
Решения вопроса 1
@aol-nnov
начнем с тупого.
<uses-permission android:name="android.permission.INTERNET"/>
есть в манифесте?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы