Dynalistに保存しているTaskumaのログに画像も必要になってきた。
そこで、Evernoteに保存したTaskumaのレポートを読み込んでやれないか?と、色々試している途中で出来た副産物、試作品。
やっていること
- ショートカットアプリで、
- TaskumaからEvernoteに送信したレポートを読み込んでいる。
- Evernoteのノートに添付されたCSVファイルが読めたので、主なデータはそこから読み込んでいる。
- 画像はEvernoteのノートから読み込んでいる。
- 画像の有無の確認もEvernoteのノートから読み込んで行っている。
- Safari Webページ以外からでもJavascriptが実行できたので、処理高速化の為に上記読み込みと画像のGyazoへの保存以外のデータの処理はJavascriptで行っている。
- 処理の最後に、JSONファイルをiCloudドライブに保存している。それをScrapboxの設定ページでインポートすることで一度に複数のページの保存を可能にしている。
- Gyazoへの画像のアップロードは、TwitterのモバイルアプリからツイートのリンクをScrapboxに保存できないか試してみるというメモで作った、「UpImg2Gyz/wTstTkn」ショートカットを今回も使った。
Scrapboxにページとして保存するのは
- タイムテーブル(設定で保存無しにできる)
- 地図(設定で保存無しできる)
- メモや画像のある実行タスク(但し、メモに「@REM」と書かれたタスクは除外)
実行例
試作して分かったこと
- このJavascriptの実行方法ではエラーメッセージが出ない。PCなどを使わないとデバッグはほぼ不可能。なので、修正・改変等はとてつもなく困難。
- ショートカットアプリ本来のJavascriptを実行させる方法(SafariでダミーのWebページを開き、共有シートメニューからショートカットを起動させる)も試してみたが、表示されるエラーメッセージが分かり辛く、先の方法とさほど変わらない。
- ショートカットアプリでJavascript以外のアクションの組み合わせでデータの処理をやらせてみたが、43タスク × 12項目(タスク名、見積時間、実行時間〜)のデータをリスト(配列)に読み込ませるだけで1分25秒もかかった。
- 修正・改変することを考慮すると、面倒でもScriptableやRunJavaScriptなどのJavascript実行アプリと組み合わせて作った方が楽だろう。
今回試作したショートカット
- 既に同じタイトルのページが存在する場合、このショートカットの出力データをインポートするとページが上書きされてしまうので注意。 ← 先にエクスポートしておくと安心。
「UpImg2Gyz/wTstTkn」ショートカットも実行するのに必要。
「GetFromDataJar」 これも、Data Jarアプリに保存したGyazoのトークンの読み込みに必要。
- 不具合がかなり残っていると思う。
- 例えば以下のような場合、エラーになるかもしれない。
- 地図も含めて画像が一つも無い
- 画像が一つしか無い
- 完了タスクが一つも無い
追記 (2020-01-13)
sorashima.hatenablog.com
に書いたように、Scriptableもこれを書いた頃からかなり改良され、ショートカットとの連携も楽にできるようになった。なので修正するならScriptableを使った方が良いだろう。