Android
コールバックURL
サーチ…
Instagram OAuthによるコールバックURLの例
コールバックURLの使用例の1つはOAuthです。私たちは、Instagramのログインでこれをやってみましょう:ユーザーが自分の資格情報を入力し、 ログインボタンをクリックした場合、Instagramのは、資格情報を検証し、返しますaccess_token
。私たちのアプリでは、 access_token
が必要です。
アプリがそのようなリンクを聴くことができるようにするには、コールバックURLをActivity
に追加する必要があります。 <intent-filter/>
をActivity
に追加すると、そのコールバックURLに反応します。コールバックURLはappSchema://appName.com
ます。次に、 Manifest.xmlファイルの目的のActivity
に次の行を追加する必要があります。
<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"/>
ターゲットアクティビティは、リンクによって参照されるデータを表示するためにWebブラウザによって開始されることを許可します。 -
<data android:host="appName.com" android:scheme="appSchema"/>
は、<data android:host="appName.com" android:scheme="appSchema"/>
コールバックURLのスキーマとホストを指定します。 - これらの行はすべて、ブラウザでコールバックURLが呼び出されるたびに、特定の
Activity
を開くようにします。
さて、あなたのActivity
でURLの内容を取得するには、次のように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.
}
これでInstagramからaccess_token
が取得されました。これはInstagramのさまざまなAPIエンドポイントで使用されています。
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow