WorkFlowyのAPI経由で今日の項目をつくる
code:.sh
curl -X POST https://workflowy.com/api/v1/nodes/ \
-H "Content-Type: application/json" \
-H "Authorization: Bearer (ここにあなたのAPIKEY)" \
-d '{
"parent_id": "ba2cc6d0-be7a-561e-4d11-0b72af55055b",
"name": "<time startYear=\"2025\" startMonth=\"9\" startDay=\"4\">Wed, Thu 4, 2025</time> ",
"position": "top"
}' | jq
(ここにあなたのAPIKEY)のところに、取得したWorkflowyのAPIキーを書き込む
()は不要 Authorization: Bearer nnn11-11n1--1nn1111みたいな感じになる
"parent_id": "ba2cc6d0-be7a-561e-4d11-0b72af55055b"に親項目となる項目のIDを入れる
完全に省略すると最上に項目に並ぶ
"position": "top"なら最上位にbottomなら最下位にならぶ
でもって、本文
"name"が本文部分。
<time startYear=\"2025\" startMonth=\"9\" startDay=\"4\">Wed, Thu 4, 2025</time>とすれば、以下のような項目ができる。
https://gyazo.com/32008d685b28fa4ee75da32b641b443e
重要なのはタグで囲まれたテキストではなく、startYear=\"2025\" startMonth=\"9\" startDay=\"4\"の部分。これが日付データを確定させる。
よって、コードで今日の日付を取得し、上記のようなtimeタグを作ってcurlするなりfetchするなりすれば任意の項目下に、今日の日付の項目を作成できる。iOSのショートカット.appでもいける。
追加アイデア
API経由で項目を作成すると、作成された項目のIDがJSONで返ってくる。
"item_id": "a888a162-a8aa-4aa1-836a-86cb94b86aaa"
これを保存しておけば、メモを新規作成で追加するときに「今日の項目」に追加することができる
これまでは、「今日」のような固定的な項目を作り、そこに追加することしかできなかったが、この方法なら「朝一番に自動的に項目を作成しておき、以降はそこに新しいメモを送り込んでいく」が可能になる。
APIを組み合わせれば、まずDay-lineの子項目のリストを取得する→一番上に表示される項目を探す→その項目のnameを確認して、今日の日付になっていなかったら新しい日付の項目を作成してIDを保存しておく、というやり方ができる。
そのときに作成した日付とIDを保存しておいて、次回アプリケーション起動時に新しい日付のIDが保存されているかどうかを確認してもいい。もしなければ、上記のように項目を作る、というような。
これをショートカット.appでやれば、iOSでもMacでも同じように使える。
APIについては以下を参考のこと
API Reference | Workflowy