InstapaperのAPIを実行するJavaプログラム(認証編)

先日ひょんな事から、InstapaperのAPIを使ったWebアプリを作ろうと思い立ち、JavaでInstapaperのAPIを呼び出すコードを書いてみました。まずは手始めと言うことで、認証のAPI(Instapaperのユーザー名/パスワードで認証する)から。

APIの基本的な使い方をまとめると、以下のとおり。
・決められたURLに対し、ユーザー名/パスワードをパラメータとして、HTTP POSTリクエストを投げる。
・認証に成功した場合HTTP 200が返される。
・認証に失敗した場合、失敗した原因に応じて所定のステータスコードが返される。

# API仕様の詳細は、本家の公開ドキュメントを参照して下さい(英語のドキュメントなので追々翻訳しようかとも考えていますが、需要があるでしょうか?)。
 Simple Developer API: Adding Pages to Instapaper

以下、実際に認証APIを呼び出すコードです。動かすためにはcommons-httpclientのモジュールを取得して、クラスパスを通す必要がありますのでご注意下さい。 

---サンプルコード ここから

import java.io.IOException;

 

import org.apache.commons.httpclient.HttpClient;

import org.apache.commons.httpclient.methods.PostMethod;

 

public class AuthenticateSample {

    public static void main(String[] args) {

        String username = "username";//ユーザー名

        String password = "password";//パスワード

 

        HttpClient httpclient = new HttpClient();

        PostMethod post = new PostMethod(

            "https://www.instapaper.com/api/authenticate");

        post.addParameter("username", username);

        post.addParameter("password", password);

        try {

            int status = httpclient.executeMethod(post);

            System.out.println(status);

            System.out.println(new String(post.getResponseBody()));

            System.out.println(post.getStatusLine().toString());

        } catch (IOException e) {

            e.printStackTrace();

        }

    }

}

---サンプルコード ここまで

 
まあ、やっていることは普通にPOSTリクエストを投げているだけなので、なんの変哲もないコードなのですが。

上記は単に認証しただけなので、Instapaperの機能は何も使えていない状態です。近いうちにURL保存用APIのサンプルコードもアップしたいと思います。