サーチ…


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