Поиск…


Пример обратного вызова с помощью 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.



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow