mixi android SDKの使い方 前編

最近mixiとかあんまりログインしてないんですが、一応日記は見てますよ。というのも、galaxy tabに便利なガジェットが付属していまして、SNS Browserというんですが、mixiとtwitterとfacebookとあとmyspaceだったかな?4つぐらいのSNSサイトに横断して日記とかつぶやきを表示してくれるという便利ツールがあるんですよね。もちろん、OAuthなんて近代的な認証方法ではなく旧来のXAuth?で認証しているのでセキュリティには若干不安がありますがね、まあこういった便利ツールがあるとSNSサイトから足が遠のくわけでして。

それはともかくとして、たまにはプログラミングのことでも書いてみるかということで今日はmixi Android SDKを利用してmixiの機能にアクセスする方法を紹介いたします。今日は前編と言うことでその準備がメインです。これをがんばれば、SNSブラウザーっぽい物も作れますね。

まずは、mixiAPIを使う準備として、開発者として登録する必要があります。登録にはクレジットカードとか必要みたいです。http://developer.mixi.co.jp/ 登録したら、mixiAndroidSDKをダウンロードしてください。あ、ちなみに、Androidアプリの開発方法は説明しないので、AndroidSDKとeclipseはインストールしておいてください。ちなみに、pleiades all in oneが日本語化されていて便利です。

次に、mixiAndroidSDKをインポートします。ファイル→インポート→一般→既存のプロジェクトをワークスペースへで、インポートできます。ちなみに、インポートしてエラーが出た場合盛大に文字化けしている可能性があります。Alt+Enterを押して、プロジェクトのプロパティを出してください。そして、テキストファイルのエンコードをUTF-8にしませう。それで、Androidのライブラリーとして追加してあげれば使えるようになります。

[java]
public class MixiAPITest extends Activity {
MixiContainer mContainer;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Config config = new Config();
config.clientId = "71ac16b43***********";
config.selector = Config.GRAPH_API;
mContainer = MixiContainerFactory.getContainer(config);
mContainer.init(this);
mContainer.authorize(this, new String[]{"w_voice"}, 1, new CallbackListener() {

@Override
public void onFatal(ErrorInfo e) {
// TODO 自動生成されたメソッド・スタブ

}

@Override
public void onError(ErrorInfo e) {
// TODO 自動生成されたメソッド・スタブ

}

@Override
public void onComplete(Bundle values) {
// TODO 自動生成されたメソッド・スタブ

}

@Override
public void onCancel() {
// TODO 自動生成されたメソッド・スタブ

}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO 自動生成されたメソッド・スタブ
super.onActivityResult(requestCode, resultCode, data);
mContainer.authorizeCallback(requestCode, resultCode, data);
}
}
[/java]

とりあえず、これで認証ダイアログまでは出るはずです。え?出ない?キーストアファイルのハッシュ値を算出するのがめんどいんだよwwwwwwなんでこんなめんどいことをwwwwわざわざcygwinをインストールしないと行けないので続きはまた今度。いつかは知らんが。ちなみに、ここでのポイントはconfig.clientId = “71ac16b43***********”;config.selector = Config.GRAPH_API;の設定です。

実はmixiAPIには3種類あってmixiアプリ、mixiGraph,mixiplugin、それぞれ設定が異なるみたいなんですよね。その辺も次回書きます

しかし、各社のAPIを見てるとその会社の雰囲気を反映してるかのようでおもしろいですね。個人的にはyahoo!のAPIがcoolな物が多くて好きです。個人的な感想なんであんまり参考にしてはいけませんが。あと顔本のAPIとか超簡単にたたけすぎ吹いた。OAuthさえ終わればあとは、URLにアクセスするだけでたいていの機能にアクセスできるシンプルさ。何という恐ろしい文化だ。日本では考えられないな。

タイトルとURLをコピーしました