GoogleFormからDayOneに記録する

GoogleFormからDayOneに記録する
公開日時

iPhone8からPixel3aに乗り換えた際に、DayOneはiPhoneで使い続けることにした。

とはいえiPhoneは自宅に置いているため記録したいときに記録できなくて困る。

そこで、GoogleFormを使って記録はPixelからでもできるようにした。

IFTTT連携

  • Do more with Day OneからIFTTTのDayOne連携を有効にする
  • ifにWebhooksを指定し、thenにDayOneを指定したAppletを作成する
    • WebhooksのEventNameは「dayone」を指定
    • Create Journal EntryのBodyに「{{Value1}}」を指定

これで↓のようにwebhookにPOSTすることでDayOneに記録できるようになる。

curl -X POST -H "Content-Type: application/json" -d '{"value1":"タイトル\n本文"}' 'https://maker.ifttt.com/trigger/dayone/with/key/{your_token}'

GoogleForm連携

スマホで記録する際に都度curlコマンドを実行するのは手間なので、GoogleFormの入力をトリガーにWebhookを実行するようにする。

  • Googleを新規作成し、「段落」を追加
  • 「︙」メニューから「スクリプトエディタ」を選択
  • ↓のコードを貼り付け
function sendToIFTTT(body) {
  var url = "https://maker.ifttt.com/trigger/dayone/with/key/{your_token}";
  var data = { "value1" : body };
  var payload = JSON.stringify(data);
  var options = {
    "method" : "POST",
    "contentType" : "application/json",
    "payload" : payload
  };
  var response = UrlFetchApp.fetch(url, options);
  console.log(response);
}

function test() {
  sendToIFTTT("test\ncontent")
}

function onFormSubmit(e){
  var body = "";
  var itemResponse = e.response.getItemResponses();
  
  for (var j = 0; j < itemResponse.length; j++){    
    var formData = itemResponse[j];
    var response = formData.getResponse();
    body = response;
  }
  sendToIFTTT(body);
}
  • 時計アイコンを選択してトリガーを設定
dayone-form
  • スクリプトからのアクセスを許可するダイアログが表示されるので許可を選択

これでGoogleFormに入力すると自動でDayOneに投稿できるようになった。

参考


Related #tool

ExtraVolumeConfigでBluetooth音量を調整する

寝る前に最適な音量で音楽が聴けるようになった

herokuにブランチをpushする

branch_name:masterでpushする

知らぬ間にGoogleカレンダーにスパムイベントが登録されていた(Your Samsung is ready for Pickup)

Gmailから自動で予定を追加する機能を悪用したスパムらしい

カフェ作業のお供にTRENEを買った

外での作業時に余計な精神を消耗しないためにモニタリングアラームのTRENE(トレネ)を買った

Day One ClassicからDay Oneに移行

サポートが切れているのでそろそろ移行したほうが良いと思いDay One Classic -> Day Oneに移行した

1PasswordからBitwardenへの乗り換え検討

1Passwordで普段使っている機能が問題なく使えたので今のライセンスが切れるタイミングで乗り換えようと思う