nw.jsでデスクトップ・アプリを作る(1)

公開:2015-01-20 21:18
更新:2017-07-29 13:17
カテゴリ:nw.js,youtube,javascript,three.js,nw.jsでデスクトップアプリを作る

nw.jsでデスクトップ・アプリを作ろうとしている。どのようなものかというと

昔のメディアプレイヤーで流行ったような音源をベースにしたエフェクトを描いたりとか、FFTの結果を表示したりとかまあそういう音源と同期した動画をある程度自動生成し、YouTubeでアップロードできるようにすると面白いかなぁと。

YouTubeにアップロードするところは今まで勉強してきたYouTube Data APIを使う予定だけれども、アップロードを実現するためにはOAuthによる認証が必要だ。

nw.jsでOAuthを実現するには「インストール済みのアプリケーション用」のフローが使えそうである。これはどうするのかというと

  1. 別ウィンドウで認証ページを呼び出す。redirect_uriは「urn:ietf:wg:oauth:2.0:oob」を指定する。別ウィンドウを開くときはnative UI APIの「Window」を使用する。これを使用するとloadedイベントやウィンドウのタイトルテキストを読み出すことができる。
    <参考>

    Window · nwjs/nw.js Wiki · GitHub
  1. 認証ページからはタイトルテキストに認証コードが埋め込まれるので、それをloadedイベント時にタイトルテキストを読出し、認証コードを取り出す。
  2. あとは普通にOAuthの処理をする。

上記でできそうなので明日から実装してみようと思っている。OAuthはライブラリを使わず自前で実装するつもりである。