mixi API SDK for Androidを利用する
API利用の認証・ 認可を得る
ここからは実際のコーディングになります。
mixi SDK
mixi SDK
リスト1 MixiContainerで認証・
private MixiContainer mContainer; // ―― ①
(中略)
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Config config = new Config();
config.clientId = CLIENT_ID; // ―― ②
config.selector = Config.GRAPH_API; // ―― ③
mContainer = MixiContainerFactory.getContainer(config); // ―― ④
mContainer.init(this); // ―― ⑤
Button loginButton = (Button) findViewById(R.id.login);
// ログインボタン押下時の動作を定義
loginButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
if(!mContainer.isAuthorized()){ // ―― ⑥
mContainer.authorize(ExampleMainActivity.this, SCOPES,
LOGIN_REQUEST_CODE, new CallbackListener() {(中略)}); // ―― ⑦
} else {
Toast.makeText(ExampleMainActivity.this,
"ログイン済みです。", Toast.LENGTH_LONG).show();
}
}
});
(中略)
}
(中略)
protected void onActivityResult(int requestCode,int resultCode,Intent data) {
super.onActivityResult(requestCode, resultCode, data);
mContainer.authorizeCallback(requestCode, resultCode, data); // ―― ⑧
}
protected void onDestroy() {
mContainer.close(this); // ―― ⑨
super.onDestroy();
}
mixi APIを使う前に,
- ① APIのリクエストを実行するためのMixiContainerを定義します。
- ② clientIdを設定します。これはmixiアプリを作る場合はmixiapp_アプリID,
mixi Graph APIアプリを作る場合は, PartnerDashboard上で発行されたConsumer Keyを指定します。 - ③ selectorにはmixiアプリを作る場合は
「APPLICATION」, mixi Graph APIアプリの場合は 「GRAPH_ API」 を設定します。 - ④ MixiContainerFactoryでMixiContainerのインスタンスを取得します。
- ⑤ MixiContainerを初期化します。
- ⑥ すでに認証・
認可済みかを判定します。認可情報はmixi SDK (Android) がアプリケーションのSharedPreferences内に保存するため, 毎回認証・ 認可をする必要はありません。 - ⑦ mixiへの認証・
認可処理を行います。mixi公式アプリを通じてmixiからOAuthのトークンが発行されます。SCOPESはアプリで必要なスコープの文字列を配列として指定してください。LOGIN_ REQUEST_ CODEは, Activity#onActivityResultのrequestCodeに相当します。作成するActivity内で重複しないように設定してください。 - ⑧ MixiContainer#authorizeCallbackで認証・
認可処理の結果を受け取ります。 - ⑨ MixiContainerの終了処理です。onDestroyなどで適切に呼び出してください。
APIを呼び出す
認可処理が終われば,
リスト2 自分のユーザ情報を取得する
mContainer.send("/people/@me/@self", new CallbackListener() {(中略)});
このほかにもphoto APIを利用して写真を投稿するといったことができます。すべては紹介しきれないので,
APIの実行結果を処理する
さて,
API呼び出しが成功した場合,
リスト3 APIで取得したユーザ情報からニックネームを取り出す
public void onComplete(Bundle values) {
try {
String response = values.getString("response");
JSONObject obj = new JSONObject(response);
String displayName = obj.getJSONObject("entry").getString("displayName");
Toast.makeText(ExampleMainActivity.this,
displayName + "さん ようこそ", Toast.LENGTH_LONG).show();
} catch (JSONException e) {
// エラー処理
}
}
}
各APIで取得できる内容は,
まとめ
これで前回から続いてきたmixi API SDKを使ったアプリケーション開発の紹介を終わります。
mixiでは開発エンジニアを募集しています。
詳細はこちら
→ http://