Android
URL för återuppringning
Sök…
Exempel på återuppringning av URL med Instagram OAuth
Ett av användningsfallen av återuppringningsadresser är OAuth. Låt oss göra detta med en Instagram-inloggning: Om användaren anger sina inloggningsuppgifter och klickar på inloggningsknappen kommer Instagram att validera inloggningsinformationen och returnera en access_token
. Vi behöver den access_token
i vår app.
För att vår app ska kunna lyssna på sådana länkar måste vi lägga till en återuppringningsadress till vår Activity
. Vi kan göra detta genom att lägga till ett <intent-filter/>
till vår Activity
, som kommer att reagera på den återuppringningsadressen. Antag att vår webbadress för återuppringning är appSchema://appName.com
. Då måste du lägga till följande rader till önskad Activity
i filen Manifest.xml :
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE"/>
<data android:host="appName.com" android:scheme="appSchema"/>
Förklaring av raderna ovan:
-
<category android:name="android.intent.category.BROWSABLE"/>
gör att målaktiviteten tillåter sig att startas av en webbläsare för att visa data som refereras till av en länk. -
<data android:host="appName.com" android:scheme="appSchema"/>
anger vårt schema och värd för vår återuppringnings-URL. - Sammantaget kommer dessa rader att göra att den specifika
Activity
öppnas närhelst återuppringningsadressen anropas i en webbläsare.
För att få innehållet i webbadressen i din Activity
måste du nu åsidosätta onResume()
enligt följande:
@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 har du tagit fram access_token
från Instagram, som används i olika API-slutpunkter på Instagram.