ドキュメント > Fabric > Twitter キット > Android > Twitterの REST APIにアクセスする
The TwitterCore キットでは認証済みTwitter APIリクエストを作成するTwitterApiClient
を使用することができます。
現在は以下をサポートしています:
アプリではTwitterApiClientを使うためのセッションを取得しなければなりません。 TwitterセッションはユーザーがTwitter にログインすることで取得できます。 ユーザーのログインなしでリクエスト作成するために、ゲスト認証を使ってAppセッションを取得することができます。
注意
Appセッションを使ったTwitterApiClient では、ユーザーを識別する情報を必要としないAPIリクエストのみ作成できます。 例えば、Appセッションではツイートをすることができません。
TwitterCore.getInstance().logInGuest(new Callback() { @Override public void success(Result appSessionResult) { // REST API REQUEST... } @Override public void failure(TwitterException e) { // OOPS } });
Appセッション(上記のような)もしくはTwitterセッションを使って認証が感慮すると、TwitterApiClient を使ってAPI リクエストを作ることができるようになります:
TwitterApiClient twitterApiClient = TwitterCore.getInstance().getApiClient(); // Can also use Twitter directly: Twitter.getApiClient() StatusesService statusesService = twitterApiClient.getStatusesService(); statusesService.show(524971209851543553L, null, null, null, new Callback<Tweet>() { @Override public void success(Result<Tweet> result) { //Do something with result, which provides a Tweet inside of result.data } public void failure(TwitterException exception) { //Do something on failure } });
TwitterApiClientは誰でも拡張可能で、Twitter の認証エンドポイントを追加する拡張も行えます。
import com.twitter.sdk.android.core.Callback; import com.twitter.sdk.android.core.Result; import com.twitter.sdk.android.core.TwitterApiClient; import com.twitter.sdk.android.core.TwitterException; import com.twitter.sdk.android.core.TwitterSession; import com.twitter.sdk.android.core.models.User; import retrofit.http.Query; class MyTwitterApiClient extends TwitterApiClient { public MyTwitterApiClient(TwitterSession session) { super(session); } /** * CustomService に定義したエンドポイントを設定する */ public CustomService getCustomService() { return getService(CustomService.class); } } // users/show サービスエンドポイントの例 interface CustomService { @GET("/1.1/users/show.json") void show(@Query("user_id") long id, Callback<User> cb); }
注意
TwitterCore キットでは Retrofit を使ってインタフェースを認証済みエンドポイントに変換しています。 追加するエンドポイントはRetrofitで要求される形式に準拠する必要があります。 依存関係を含めて正常にコンパイルできるのであれば、このキットでは必要に応じてOkHTTP を使用することができます。 OkHTTP ではより安定したHTTPスタック、より速いリトライメカニズム、SPDYのサポートが使えるようになります。