読者です 読者をやめる 読者になる 読者になる

趣味プログラマによるOSS開発日誌

趣味で作っているOSSソフトウェアの紹介や関連技術の紹介、楽曲製作、Webデザイン勉強状況を紹介します。

Qiita投稿アプリ開発(4) Qiita APIのバージョン

Qiitaで利用可能なAPIには、v1とv2の2つのバージョンがあります。

これまでドキュメントの分かりやすさからv1を利用していたのですが、v2とどちらを利用したら良いか迷っていました。

そこで別件でも聞きたいことがあったので、思い切ってQiitaのサポートに聞いてみました。
すると1日後には返信があり、今後v1への機能追加は行わないということを非常に丁寧に教えていただきました。

今後v1のサポートが無くなることはあり得ますし、機能追加がないので下書きに関するAPIが追加された時に使えないのは困ります。
実際v1では、Qiitaへのアクセス権をユーザが自分で設定する必要があり、ユーザにとっては非常に手間のかかるものとなってしまいます。
さらに、TwitterGitHubのアカウントと共通した場合の認証が出来ません。
実際、Qiita関連のiPhoneアプリでも認証できないものがいくつかあります。
GitHubと共通アカウントとして使っている私にとってこのアプリが使えなくなるのは本末転倒ですので、v2への移行を決めました。

v2へ移行するために、v1で実装した時と同じくまずは認証部分の実装を行うことから始めました。
v2の認証には2種類あり、v1と同じくユーザ自身がアクセス権を設定する方法と、OAuth認証を用いた方法があります。

ユーザ自身がアクセス権を設定する方法では、Qiitaでアクセス権を発行することにより得られた、アクセストークンをアプリに入力してもらう必要があります。
開発者にとっては実装が楽で良いのですが、ユーザにとっては何の脈略もない英数字の羅列を数十文字分入力する必要があり、考えただけでも面倒です。

それに対してOAuth認証は簡単で、Qiitaで使用しているユーザ名やパスワードさえ入力すればユーザの認証が行えます。
また、GitHubTwitterとアカウントを連携させた場合についても対応が容易です。
ただし開発者にとっては負担が増えるのが問題です。

結局どちらの方法にするかですが、自分自身がこのアプリを使うことを考えた結果、OAuth認証とすることにしました。
しかしここで問題が発生します。
PhoneGapにおけるOAuth認証のやり方に対して、全く検討がつきません。
さらにネットにも情報が少ないので、試行錯誤しながらやるしかなさそうです。
まずはOAuthのJavascriptでの実装方法から勉強する必要がありそうですね。