Gメールの添付画像をGASでGoogle Drive に保存

福井の堆積場にはハイクカムを設置して撮影を始めた雪堆積場のタイムラプスですが、忘備録的にシステムの紹介。
ハイクカムにはSIMを挿すスロットがあり、Hyke Works 経由でメール添付で最新画像が送られてきます。
今回はgmailのアドレスを新しく取得して、ハイクカム側でそのアドレスを指定しています。
APNの設定や、画質の設定、時間間隔の設定などもあります。今回は5分間隔でgmailのアドレスに送られてくるというわけです。
これをどうにかしてローカルにごっそり保存しておいて展示の時に使いたいというのが今回のお題です。

いくつか方法はありそうですが、今回はサーバで動くGoogle Apps Script(GAS) を使ってみました。
Google Drive上に専用のフォルダを準備して、HykeCam からのメールに添付された画像をそのフォルダに保存。
もちろんGASからではローカルには触れることができないので、
展示するときは、Google Drive のデスクトップアプリで同期してしまおうという作戦です。

*FOLDER_ID はgoogleDrive上のフォルダに振られているランダムな(?)文字列です。アクセスすればURLの下にくっついてます。
*SEARCH_TERM は、検索条件ですが、HykeCamからの未読メッセージということにしました。
*フォルダにファイルを作って、最終的には既読にし、削除するとこまでやっています。(容量を気にして)


const FOLDER_ID = ‘xxxxxxxxxxxxxxxxxxxxxxx’;
const SEARCH_TERM = 'from:(HykeCam) is:unread';

function fetchFile(){
  
  const folder = DriveApp.getFolderById(FOLDER_ID);
  const threads = GmailApp.search(SEARCH_TERM, 0, 10);
  const messages = GmailApp.getMessagesForThreads(threads);

  for(const thread of messages){
    for(const message of thread){
      
      const attachments = message.getAttachments();
      for(const attachment of attachments){
        folder.createFile(attachment);
      }
      
      GmailApp.markMessageRead( message );
      GmailApp.moveMessageToTrash( message );
      
    }   
  }
}

というわけでコードは無事に動いていたら、実行するトリガーを1分間隔に設定して準備完了。
明日は月寒の堆積場にカメラ設置に行ってきます。
それが済めば、あとは雪が降って堆積場が稼働するのを待つだけです!

堆積場視察@月寒東第2地区

月寒にある堆積場の視察に行ってきました。市街地にある堆積場で、市の予定搬入量は5万立米ですが、民間の搬入もありますので、かなり広い印象です。

雪対策室の方々にご同席いただいて打ち合わせさせていただのち、現場も見せていただきました。関係者のみなさま、丁寧なご対応いただきありがとうございます!

電気もお借りできますし、電柱もあって見晴らしも良く申し分ありません。楽しみです!

 

 

福井堆積場視察

昨年もお世話になった福井の雪堆積場に挨拶に伺いました。

改めてご説明いただきましたが、こちらの堆積場は、谷の底から堆積を始めて、最終的には山になるとのことで、インターバル撮影用のカメラの位置と角度の狙いどころがなかなか難しいところです。昨年設置したカメラ(ハイクカム)がまた設置したままになっていたので(!)SIAFラボの石田さんが、取り外しのためイントレに登りました(くれぐれも無理なくお願いしたい…)。カメラの首振りをできる機構を考える必要アリなので、一度回収して、仕込んでから改めて設置に伺うことにしました。

北陽工業さんには、大変なご協力をいただいており、今回も、カメラの位置や撮影方法まで、色々なアイディアをいただきました。

例年、年末に北海道神宮周辺の雪が入るのが最初とのことで、それまでによい画角が見つけて撮影を始められたらと考えています。

管理をしている北陽工業さんの事務所から。五天山が見えます。
札幌中心部と比べると雪が多い…
SIAFラボのロゴ入りヘルメットとかあった方がよいのか。
この谷(?)が雪で埋まります!