Android
Terugbel-URL
Zoeken…
Voorbeeld van terugbel-URL met Instagram OAuth
Een van de use cases van callback-URL's is OAuth. Laten we dit doen met een Instagram-login: als de gebruiker zijn inloggegevens access_token
en op de knop Inloggen klikt, zal Instagram de inloggegevens valideren en een access_token
. We hebben dat access_token
in onze app.
Voor onze app om naar dergelijke links te kunnen luisteren, moeten we een terugbel-URL toevoegen aan onze Activity
. We kunnen dit doen door een <intent-filter/>
te voegen aan onze Activity
, die zal reageren op die terugbel-URL. Stel dat onze callback-URL appSchema://appName.com
. Vervolgens moet u de volgende regels toevoegen aan de gewenste Activity
in het bestand Manifest.xml :
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE"/>
<data android:host="appName.com" android:scheme="appSchema"/>
Verklaring van de bovenstaande regels:
-
<category android:name="android.intent.category.BROWSABLE"/>
zorgt ervoor dat de doelactiviteit door een webbrowser kan worden gestart om gegevens weer te geven waarnaar wordt verwezen door een link. -
<data android:host="appName.com" android:scheme="appSchema"/>
specificeert ons schema en de host van onze callback-URL. - Alles bij elkaar zorgen deze lijnen ervoor dat de specifieke
Activity
wordt geopend wanneer de terugbel-URL in een browser wordt aangeroepen.
Om de inhoud van de URL in uw Activity
, moet u de methode onResume()
als volgt overschrijven:
@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.
}
Nu hebt u het access_token
opgehaald van Instagram, dat wordt gebruikt in verschillende API-eindpunten van Instagram.