Lesson2.入力パラメータを利用してURLを組み立てる
ワークフロー
RunScriptのインプットとなるキーワードを2つ繋げるだけでOKです
パラメータが全角の場合があることを考慮して、スクリプトで半角化しています
Sedコマンドで変換しています。数字だけなので、見た目でわかりやすいスクリプトですね
よく見る例では0〜9と並べていますが、試しに9〜0としてみました。もちろん動きます
sed 'y/9876543210/9876543210/'
バックスラッシュで囲むとコマンドの結果を変数に代入できます
下記のコードは、$1の数字部分を半角化して変数queryに格納します
query=`echo $1|sed 'y/9876543210/9876543210/'`
ちなみに私はUK配列キーボードなので、バックスラッシュが簡単に入力できます
timelineのURLに必要なyyyy-mm-ddを作成する際にパラメータを部分参照します
queryには入力されたyyyymmdd形式の日付けが入っている想定です。
${query:0:4}"-"${query:4:2}"-"${query:6:2}
部分参照の構文は ${変数:開始位置:長さ} となりますが、開始位置は
先頭が0となります
※ちなみにyyyy-mm-ddとしてユーザーから入力させるのであれば
FeaturesのWeb Searchのカスタム検索で実現する方が簡単です
”-”をユーザーに書かせない点が、実はこのワークフローの肝なのです
ワークフローのオブジェクトを使わずにスクリプトからOPENをしてみました
英数字だけのURLならopenで良さそうです
日本語がある場合は%エンコードが必要になりそうな気がします
RunScript
趣味で一眼レフを使って風景写真を撮っています
写真の位置情報はスマホから取得する筈なのですが、スマホとカメラが連携する前に
撮影が完了してしまい位置情報が取得できないことがよくあります
そこで撮影日から訪れた場所を確認するためにこのツールを作ってみました
特定の日付のgoogle timelineを表示させる
1.alfredworkflowをダウンロード
2.ファイルをダブルクリックしてワークフローに登録
Alfredからキーワードで起動
gt yyyymmdd
または
場所 yyyymmdd
※私がalfredを日本語でweb検索に使うことが多いので、日本語でも起動できるようにしました
”場所”よりも”アリバイ”みたいなキーワードが良いかも。。。
トップページに戻る