林檎の木の下で

iPhoneアプリやwebサービスの紹介など。ノンプログラマー、ただの主婦が奮闘してます。

【初心者が作るWorkflow】WorkflowでのEvernoteリンクの取り扱い方について。

      2015/03/24

【初心者が作るWorkflow】WorkflowでのEvernoteリンクの取り扱い方について。elephant-241620_640

こんにちは、sakurako(@0518sakurako)です。

最近Workflowをわからないながらに作っていて、ちょっとずつわかってきたこともあるので覚書も兼ねて書いていこうと思います。

今回はまずWorkflowでのEvernoteリンクの扱い方についてです。

スポンサーリンク

Workflowで使えるEvernoteアクション

2015/3/10現在、Workflowで扱えるEvernoteのアクションは次の四つです。

  • Append to Note(ノートに追加する)
  • Create New Note(新しいノートを作る)
  • Get Note Link(ノートのリンクを取得する)
  • Get Notes(ノートを取得する)

今回取り上げるのはノートを取り出す二つのアクション、Get Note LinkとGet Notesについてです。

まずこの二つのアクション、何が違うのかというともう全然違います。

Get Note Linkは説明を読むと「Gets a link to the Evernote note passed into the action, which can be shared.」とあります。???共有できるアクションに結びつけるEvernoteのリンクを得ることができるみたいな訳で良いのかな?

InputがEvernote notesでResultがURLsになっているので、Evernote notesをURLに変換して、他のアクションにつなげることができるアクション、みたいな感じで良いのだと思います。実際そうだし。

一方、Get Notesの方は「Get recent notes from Evernote,optionally filtering based on criteria.」だからある基準によってフィルタリングされたEvernoteの最新のノートを取得します。という感じです。

このGet Notesを始めGet Note Link以外のEvernoteのアクションはResultがEvernote note(s)なのでここからGet Note Linkにつなげて、URLにして他のアクションに持っていくというのが基本的な使い方なのだと思います。

ちなみにこのEvernote note(s)はリッチテキスト形式で取得されます。

そして問題はここから。

Get Evernote Linkで得られるURLというのはSafariで開くことができるEvernoteのURLなんです。つまりhttps://~で始まるものです。しかも短縮形。

でも、Evernoteのアプリで開こうと思うとevernote:///view/で始まる形にしなくてはいけません。

Evernoteのノートリンクについて

まず、Evernoteのノートリンクに関する基礎知識として、ノートリンクの形式としては三種類あるということがあります。

一つ目はNoteLinkと呼ばれるもので、次の形を取ります。

https://www.evernote.com/shard/[シャードID]/nl/[ユーザーID]/[ノートグリッド]/(本来は全て小文字)

このNoteLinkがEvernoteのPC版アプリとかiPhoneアプリのリンクコピーから得られるものになります。ただし、このurlはiPhoneのSafariで開くことはできません。

シャードID、ユーザーIDともにユーザーに固有のものになります。ノートグリッドはそのノート固有のIDと捉えれば問題無いと思います。

2つ目はアプリ内ノートリンクと呼ばれるもので、次の形を取ります。

evernote:///view/[ユーザーID]/[シャードID]/[ノートグリッド]/[ノートグリッド]/

これはiPhoneであればアプリでノートを開くことができるurlになります。

ちなみにevernote:///view/のリンクはPC版のEvernoteアプリであればWindowsならCtrlキーを押しながら、Macならoptionキーを押しながらリンクをコピーするをクリックするとコピーできます。

最後の部分にノートグリッドが二回続けられていますが、この細かい構造についてはこちらの公式サイトのほうで説明がされています→Evernote Developers ノートリンク

3つ目はパブリックスリンクと呼ばれるもので次の形を取ります。

https://www.evernote.com/shard/[シャードID]/sh/[ノートグリッド]/[シェアキー]/

Workflow内で使用されているのはこのパブリックスリンクの短縮URLになります。

そしてなぜかはよくわかりませんが、evernote:///view/で始まるアプリ内リンクを生成する際に、ユーザーIDの代わりにシェアキーを使用しても動きます。というかSearchEvernoteというワークフローはそれを使って作られています。

Workflowでevernote:///view/を作る方法

Evernoteのノートリンクが前述のような形式を取っているため、単にGetNoteLinkのhttpsの部分をevernote:///view/に変更するだけではノートリンクを開くことができません。

また、間に一つ目のNoteLinkを挟んでしまうとSafariで開けないためエラーを出したりクラッシュしたりしてしまいます。

そのため、パブリックリンクを使用して並び替えるという方法かノートリンクを取得してあらかじめユーザーIDとシャードIDを入力したひな形にはめ込むという2つの方法のどちらかを取る必要があります。

パブリックリンクを並び替える方法は@koronyacoさんがSearchEvernoteで使っています。

やり方としてはExpandURLで短縮形になっているURLを展開し、Split Texyで「/」ごとにurlを分解します。

ただし、これにはCleanLinksというアプリが必要です。

Clean Links

無料
(2015.03.10時点)
posted with ポチレバ

すると8つのパーツに分かれるので8番目のシェアキー、7番目のノートグリッド、5番目のシャードIDを取得してevernote:///view/[シェアキー]/[シャードID]/[ノートグリッド]/[ノートグリッド]/の順に並べ替え、これをURL化します。

もうひとつの方法はユーザーIDとシャードIDは本人固有のもので変わらないのでこれをあらかじめ入れてしまう方法法ですが、Workflow自体が公開非公開を定めることができず、自動的にネット上にアップされている(https://workflow.is/で検索かけるといろいろ出てくるところ辺りからそうじゃないかと思うんだけど)ことを考えると、うっかりユーザーIDとか公開することになりかねないのであまりオススメはしません。

まとめ

Evernoteのリンクに関するこの性質は知っておくとWorkflow以外にも使えるんじゃないかと思っています。

Evernoteのリンク取得で困っている方は是非試してみてください。

 - iPhoneアプリ ,

   

スポンサードリンク

スポンサードリンク

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

  関連記事