WorkFlowyの非公式APIを使ってTextwellでリンク作成 WFLinker
今週はコレで試行錯誤。いつの間にやら12月。
WorkFlowy API
GitHubを見ていると、さりげなくWorkFlowyを読み書きするラッパーが置かれていたりする。そんな難しい理屈では無さそうなのは下記アドレスをSafariで開くと分かります。ツリー構造をJSON形式で返してくる。これをどう扱えば良いのだろう?
https://workflowy.com/get_initialization_data
芸がないけど
リストからトピックとIDの対照表を抜き出し、リストアップするアクションにしてみました。タップするとTextwellにWorkFlowyのURLアドレスが貼り付きます。ついでに検索機能も付けたので、カーソル行をキーワードにトピックの絞り込みもできます。
Import Textwell ActionWFLinker
使い方
空行で立ち上げると、全トピックが得られます。アーカイヴされているトピックも対象となる。タップするとリンクが作成されるので、EvernoteやTodoistに転送してお使いください。上段の検索は正規表現検索になります。インクリメンタルサーチです。
トピックが取得できない場合は、ログイン画面を開きます(単純にWorkFlowyに飛ぶだけですが)。一度ログインし、内蔵ブラウザを閉じてから再度起動してください。ただしAPI認証には時間差があるので、少し時間を置くと良いようです。
力量不足
JSON自体が多段の階層構造になっていて、どう扱えば良いかわからず、下手な抜き出し方をしています。トピック内に「{」や「}」があると見かけの表示が壊れるかも知れない。申し訳ない。JSONを裁く作法があるんだと思うけど、手に負えず。JSONの各要素は省略記号で書かれていて、id がトピックIDで、nm は name と思われます。ただ、idがハイフンで仕切られていて、それぞれが何かわからない。最後の部分はURLアドレスと同じなので、そこは何とか理解。ch は子トピックで、no は note。lm はタイムスタンプと思うけど、変換されているのでどう戻せば良いのやら。トピックの書き込みも「push_and_poll」にPOSTすれば出来るらしいけど、そのためのデータの揃え方がわからず。力及ばずです。