Lesson5.複数のパラメータを利用する
ワークフロー
とりあえずジョルダンの乗換案内で色々試して解析
&eki1=出発駅(駅の文字は不要、%エンコードなし)
&eki2=到着駅(駅の文字は不要、%エンコードなし)
&eki3=経由駅(駅の文字は不要、%エンコードなし)
&Dym=年月
&Ddd=日
&Dhh=時
&Dmn=分
&Cway=0が出発時間、1が到着時間
Alfredの入力が複雑にならないようにパラメータを考えます
出発駅、到着駅、到着時間(省略可)、当日検索のみでいいかな
そうすると、たぶんこんなURLをつくればいけそう
https://www.jorudan.co.jp/norikae/cgi/nori.cgi?&eki1=出発駅&eki2=到着駅&S=検索&Dhh=時間&Dmn=分&Cway=1
alfredの入力として3つの要素を空白で区切って入力してもらうようにします
3つの要素は、出発駅、到着駅、到着時間(省略可)で順番固定です
Alfredのワークフローユーティリティのsplit arg to valsが使えそうです
駅名(全角)と到着時間(半角)の入力となるので、区切り文字としては
全角空白と半角空白の2つを使いたかったのですが、その設定方法がわかりません
そこでスクリプトで実装することにしました
arr=(`echo $query |sed 's/ / /g'`)
sedで全角空白を半角空白に置き換えてから配列に代入してみました
括弧で括ると区切り文字で分割して配列に代入することができます
つまり、arr[1],arr[2],arr[3]にそれぞれ格納します
※ちなみにAlfredのsplit arg to valsを使うと、配列ではなく
split1,split2,split3というような変数になります
3番目のパラメータの有無をチェックして到着時刻をつけるかどうか
コントロールします。こんなif文です
if [ ${arr[3]} ]; then
あとはOpen URLの受け渡してアクセしします
Httpsから始まる全体のURLをechoしていますので、後続フローのOpenURLの
URL欄には{query}だけを記載します
RunScript
今回は複数パラメータに挑戦してみました
split arg to valsを目論んでいたのですが、敢えなく失敗
スクリプトで対応しました
路線検索はナビタイム、駅探、ヤフーなどURLが露出しているので
どれでもよかったのですがジョルダンで実装しました
なおgoogleは埋め込み型のwebアプリで、『〇〇駅から××駅』という
入力だけでOKなのでAlfredのワークフローを作るまでもないです。。。
ジョルダン乗り換え案内を検索する
1.alfredworkflowをダウンロード
2.ファイルをダブルクリックしてワークフローに登録
Alfredへキーワード『電車』+パタメータ(出発駅、到着駅、到着時間)
トップページに戻る