見出し画像

【Apple Script】 Evernoteの特定のノート一覧を取得する。

Evernoteに情報を放り込むようにしているものの、何を収納したか覚えていないという問題があって、これをどうにかしたいという想いでApple Scriptの勉強を不定期でしています。理想は、週に5時間くらい確保したいな....。

Evernoteの高度な検索

created:20200710 //2020年07月10日以降に作成されたノートを検索する
created:day-2    //過去 2 日間に作成されたノートを検索する

tag:3Dプリンター    //タグで検索する

resource:application/pdf   //PDFファイルを検索する
resource:image/jpeg        //jpgファイルを検索する
resource:audio/*           //audioファイルを検索する

スクリーンショット 2020-07-29 20.40.14

resource:audio/*  検索が便利。

DTMなどにも興味があって、プリセットの音を録音したりする事とか、あっ.....この曲いいなって感じた物をEvernoteに取り込んでいるのですが、過去にそんな事やった事すら忘れている.....こういう埋もれているノートをランダムに取り出して思い出させてくれる。そして、それが新しいアイデアに繋がるそんな仕組みを作りたいなと思っています。

GASをやっているので、Spreadsheetに吐き出してくれたりするといいなぁと思っています。Apple ScriptとGASを組み合わせる?
やっぱり、そんな面倒なことするくらいなら、APIかな?

Evernoteの特定のnotebookのタイトルを全て取得してみる

スクリーンショット 2020-07-29 22.57.48

--ノートの名前を入力する
set targetNotebook to "inbox"

tell application "Evernote"

	set resultNotes to find notes "notebook:\"" & targetNotebook & "\""

	repeat with currentNote in resultNotes

		--ノートタイトルを生成する

		set currentNoteName to (the title of currentNote)

		--ノート内リンクを生成する

		set currentNoteName to (the note link of currentNote)

		--ノート内容をHTML形式で表示する

		--set currentNoteContent to (the HTML content of currentNote)

	end repeat

end tell

これを、配列に追加して、Spreadsheetに書き出せないかなぁーと思っています。ただ、Apple Scriptで配列の操作などがイマイチ分からず、躓いてしまっています。本買おうかな......。写真アプリとかで同じ事をやっても面白いかもしれませんね。Creative Cloudとかの操作も出来たら、マジで超便利になるな....。

GASでいうところのarray.push()みたいなメソッドがあるはずなんだけど.....

ダイアログを表示させる

このブログが丁寧で分かりやすい!!

一応、Evernote APIの存在は知っていて、本日、申請しました。Apple Scriptはローカルで動作するので、ログインの処理とか書かなくて済むのが楽ちんだと感じました。そして、英語の文章を書くように、書けるのも楽。ただ、Apple Scriptは、GAS以上にニッチな印象はあります。情報があまりない。多分、同じ事がPythonとかでも出来るためか、そちらに奪われているのかなと思います。

躓いた部分

APIの申請の他に、APIを本番環境で使えるようにActivateする作業が必要なようです。sandbox.evernote.comって何ぞーって思っていたのですが、Google翻訳にかけたら、悩みが氷解しました。

上記が、よく分からなくて、出来ないなら、代替手段として、Apple Scriptで書こうと思いました。まぁ、API使えるなら、その方がいいに決まっている。

Activating an API key Please note that while the samples for this page show URls beginning with https://sandbox.evernote.com all examples will also work on production by altering the URLs to begin with https://www.evernote.com. We recommend beginning your application development on the sandbox. To move your key to production please request your API key be activated on production.

APIキーのアクティブ化このページのサンプルはhttps://sandbox.evernote.comで始まるURlsを示していますが、すべての例はURLをhttps://www.evernote.comで始まるように変更することにより、本番環境でも機能します。 サンドボックスでアプリケーション開発を始めることをお勧めします。 キーを本番環境に移行するには、本番環境でAPIキーを有効にするようリクエストしてください。

近々、出来たらいいなぁと思います。

おまけ:Musicを起動させる

tell application "Music"

	activate

end tell

iTunesって言わないのですね。


この記事が気に入ったらサポートをしてみませんか?