Android
Обратный вызов
Поиск…
Пример обратного вызова с помощью Instagram OAuth
Одним из вариантов использования обратных вызовов является OAuth. Давайте сделаем это с помощью входа в Instagram: если пользователь вводит свои учетные данные и нажимает кнопку « Вход» , Instagram будет проверять учетные данные и возвращать access_token . Нам нужно, чтобы access_token в нашем приложении.
Чтобы наше приложение могло слушать такие ссылки, нам нужно добавить URL-адрес обратного вызова к нашей Activity . Мы можем сделать это, добавив в нашу Activity <intent-filter/> , который будет реагировать на этот URL обратного вызова. Предположим, что наш URL обратного вызова - appSchema://appName.com . Затем вы должны добавить следующие строки в свою желаемую Activity в файле Manifest.xml :
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE"/>
<data android:host="appName.com" android:scheme="appSchema"/>
Объяснение строк выше:
-
<category android:name="android.intent.category.BROWSABLE"/>позволяет целевой активности разрешить запуск веб-браузера для отображения данных, на которые ссылается ссылка. -
<data android:host="appName.com" android:scheme="appSchema"/>указывает нашу схему и хост нашего URL-адреса обратного вызова. - Все вместе эти строки вызовут открытие определенного
Activity, когда URL-адрес обратного вызова вызывается в браузере.
Теперь, чтобы получить содержимое URL-адреса в вашей Activity , вам необходимо переопределить метод onResume() следующим образом:
@Override
public void onResume() {
// The following line will return "appSchema://appName.com".
String CALLBACK_URL = getResources().getString(R.string.insta_callback);
Uri uri = getIntent().getData();
if (uri != null && uri.toString().startsWith(CALLBACK_URL)) {
String access_token = uri.getQueryParameter("access_token");
}
// Perform other operations here.
}
Теперь вы получили access_token из Instagram, который используется в различных конечных точках API Instagram.