はてなアンドロイド-ログイン管理API

はてな

はてなアンドロイド-ログイン管理API

はてなあんどろいどろぐいんかんり

このページは古い情報を掲載しています

このページの情報は更新されていません。新しい情報は「アンドロイド向けAPI-ログイン管理API - Hatena Developer Center」に移転しました。


本ドキュメントに関する注意事項

本ドキュメントは「はてなログイン管理」Android アプリケーションにおけるAPI実装を解説するものです。主にはてなスタッフがその作成と更新を行っています。

なお、その他のはてなアンドロイドAPIについては、以下から閲覧ください。

概要

はてなログイン管理 Android アプリケーションは、外部のアプリケーションはてなの各サービスの機能を利用するにあたり必要な情報を提供します。

これにより、アプリケーション開発者ははてなへのログイン処理を簡略化することができ、また、アプリケーション利用者は、不用意に様々なアプリケーションに対してはてなパスワードを入力する必要なくなるためセキュリティリスクが軽減され、またログイン情報を集約できるため利便性が向上されます。

なお、Android マーケットからは「はてなログイン管理」と検索することでインストールできる他、以下の QR コードを読みとることでインストールが可能です。

変更履歴

  • 2010年2月5日 リリース

登録されているログイン情報の取得

外部アプリケーションはてなログイン管理より取得できる情報は以下の通りです。

現在は上記データのみの提供になり、生パスワード等は取得できません。今後提供するデータが拡張される可能性があります。

startActivityForResult(
    new Intent(Intent.ACTION_PICK)
        .setType("vnd.android.cursor.dir/vnd.hatena.accounts"),
    USER_REQUEST
);

はてなログイン管理は、ユーザーに、元アプリケーションに認証情報を渡すか同意を求めるダイアログを表示します。

onActivityResult に渡される Intent から情報を取得します。

ユーザ名
username (String型)
Cookierk パラメータの値
randomkey (String型)
セッションID
rkm (String型)
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == USER_REQUEST) {
        if (resultCode == RESULT_OK) {
            String username  = data.getStringExtra("username");
            String randomkey = data.getStringExtra("randomkey");
            String rkm       = data.getStringExtra("rkm");

            SharedPreferences.Editor editor = getPreferenceManager().getSharedPreferences().edit();
            editor.putString(ACCOUNT, username);
            editor.putString(RANDOMKEY, randomkey);
            editor.putString(RKM, rkm);
            editor.commit();
        }
    }
}

ログイン情報を再取得

あるAPIに対してログインに失敗した場合、ユーザ名を指定してインテントを発行することにより、ログインの情報の再取得を試みることができます。

startActivityForResult(
    new Intent(Intent.ACTION_PICK)
        .setType("vnd.android.cursor.dir/vnd.hatena.accounts")
        .putExtra("account", username),
    USER_REQUEST
);

返される情報は同じです。

この場合も、はてなログイン管理は、ユーザーに、元アプリケーションに認証情報を渡すか同意を求めるダイアログを表示します。

サンプルコード

取得できる情報は各アプリケーションで保存し、必要に応じてはてなログイン管理へ再認証を要求するようにします。

以下のサンプルでは、ログイン管理アプリとの協調動作、ログイン情報の保持と、HttpClient を使ってのはてなへのアクセス方法へのコードが含まれます。


ご利用にあたっての注意事項

APIを利用されるにあたっては、以下の点にご注意ください。

  • APIは実験的に公開されているものであり、API の仕様変更ならびに API の公開停止を予告なしに行う場合があります。