こんにちは、ハッカー部のホーさんです。
今回、ALISのAPIをユーザー認証まで含めて手軽に利用できる、「APIクライアント」のPython版を開発し、公開しました!
このAPIクライアントは、数週間前に億ラビットくんがNode.jsで開発していたのですが、Pythonで再構築しました。
これを使うと、これまで何行もコーディングしなければ呼び出せなかったAPIが、最短で1行のコードで扱えます。また、呼び出すAPIの切り替えも超簡単です。オリジナルコード同様、Callback版とPromise版のどちらも実装しています。
ALISハッカー部のGithubに、ソースコードを公開しました。
さて、APIクラアントの使い方はREADMEやmain.pyに記述したサンプルを見ていただくとして、ここでは何が簡単にできるようになったかだけ列挙しておきます。
【認証】と書いてあるものは、ユーザー名とパスワードが必要なものです。
- 新着・人気記事一覧の取得(全トピック、トピック別)(ページング可)
- ユーザの記事一覧取得(ユーザID指定)(ページング可)
- 【認証】自分の記事一覧取得(ページング可)
- 【認証】自分の記事の情報取得(記事ID指定)(本文含む)
- 公開記事情報の取得(記事ID指定)(本文等含む)
- 公開記事の獲得ALISの取得(記事ID指定)
- 公開記事の獲得いいね数の取得(記事ID指定)
- 【認証】公開記事へのいいね実行(記事ID指定)
- 【認証】公開記事の通報(記事ID指定)
- 【認証】画像のアップ(記事ID指定)
- 【認証】自分の公開記事を下書きに戻す(記事 ID指定)
- 【認証】自分の編集記事の情報を取得(記事ID指定)(本文等含む)
- 【認証】自分の編集記事の情報を上書き(記事ID指定)(本文・タイトル・アイキャッチ・見出し文指定可。HTMLはALISで表示できるもののみ)
- 【認証】自分の下書き記事の情報を取得(記事ID指定)(本文等含む)
- 【認証】自分の下書き記事の情報を上書き(記事ID指定)(本文・タイトル・アイキャッチ・見出し文指定可。HTMLはALISで表示できるもののみ)
- 【認証】自分の下書き記事の投稿
- ユーザ情報の表示(ユーザID指定)
- 【認証】ユーザアイコンの変更
- 【認証】ALISのウォレットアドレスの表示
- 記事コメントの一覧表示(記事ID指定)
- 【認証】記事へのコメント(記事ID指定)
- 【認証】コメントへのいいね(コメントID指定)
- 【認証】コメントの削除(コメントID指定)
- 【認証】通知有無の確認
- 【認証】通知内容の一覧表示
ざっとこれだけのことが、数行のコードで実行できます!(一部テストしてない機能は記載を省いています。)上の機能をうまく活用すると、例えば記事の投稿やコメントができる外部サービスの開発に役立てることができます。
PythonでALISのAPIをいじっている方の一助になれば幸いです。良かったら使ってみてください。
今回、億ラビットくんがNode.jsで書いたオリジナルコードのPythonへの翻訳にチャレンジしましたが、自分なりに噛み砕きながら別言語に直す作業は、思っていた以上に大変であり、またものすごく勉強になりました。
ただ、周辺ライブラリを含めて、オリジナルコードのかなりの部分をPythonに比較的迷いなく置き換えできたのは新鮮な驚きでした。それだけNode.jsとPythonのどちらも成熟しており、また両者の開発者がお互いの動向を熟知しているのだと感じました。JavaScriptも、いざ使ってみるとPythonにはできないこともちょいちょいあって面白いなと思いました。まだまだ使いこなすレベルではないですが必要に応じて使っていこうと思います。
今回はプロダクトの開発ではなく、プロダクトの開発に役立つモジュールの開発ということで、一見地味ではありますが、長い目で見るときっと誰かのお役に立てるんではないかなと思います。このAPIクライアントを使って、億ラビットくん主導で進めていることもあります。お楽しみに!今後もハッカー部をよろしくお願いします。
参考文献
ホーさん@ハッカー部&English Club
ALISの検索エンジン作った鳥類