Slackに投稿された画像を自動で保存する！(Slack/Zapier/GoogleDrive)

# はじめに

Slackで画像を投稿するとその画像が自動でGoogleDriveに保存されるようにしました。

![Slackに投稿された画像を自動で保存したい.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120247/52a2783b-fcf5-18db-e8ef-13d44e481a30.png)


* 作成したzapの共有リンク

https://zapier.com/shared/44af533bfb9c7e252de21e4e9ad793f6a9942326

## Zapierとは

Zapierの公式ウェブサイトです。

https://zapier.com/

アメリカ発のサービスであるため、UIは日本語には対応していません（2022年5月現在）が、
説明文はどれも短い文章なので、翻訳ツールを使いながら簡単に開発が可能です。

* おすすめ翻訳ツール

https://chrome.google.com/webstore/detail/deepl-translate-beta-vers/cofdbpoegempjloogbagkncekinflcnj

## 開発環境
* OS : Windows 11
* ブラウザ : Google Chrome
* アプリケーション : Zapier(Starter Plan)

今回のZap作成では、自分のSlackアカウントからの画像アップロードをトリガーとして使っています。
![スクリーンショット 2022-05-29 175243.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120247/7c0361c8-1272-7716-7b46-ee0acb6509c0.png)




# フロー
![スクリーンショット 2022-05-24 233405.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120247/c6c72511-1ab0-23ae-ba08-bd6e7283bb41.png)


# トリガー
## Slackにファイルがアップロードされたら
![スクリーンショット 2022-05-24 224816.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120247/5046695a-ebcc-7e68-e1eb-e3a45e2796be.png)
![スクリーンショット 2022-05-24 225233.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120247/5a6e3e1b-405e-78d6-666d-bb437d757089.png)

:::note info
Slack accountについて
ここでは新規ファイルのアップロードを監視するためのアカウントを設定します。
**トリガーとなるアカウントは次の項目で設定可能です。**
:::

![スクリーンショット 2022-05-24 225845.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120247/3fde775c-d132-6ff5-3d24-ccc0d10e279a.png)

:::note info
テストを行ってデータが取得できたことを確認してください。
:::



# アクション
## フォルダ名に使うための日付を取得
![スクリーンショット 2022-05-29 162306.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120247/5ff542c0-da5a-58ec-207a-65ab60613cd8.png)
![スクリーンショット 2022-05-24 234420.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120247/c55b0713-4474-6238-e3fd-0b813b34440e.png)

:::note warn
**Inputに"{{zap_meta_utc_iso}}"と入力すると、"no data"として表示されますが、
Zapのテストや実行時には日時が表示されます。**
参考：https://zapier.com/help/create/customize/insert-the-time-your-zap-runs-into-a-field
:::

![スクリーンショット 2022-05-29 162817.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120247/c2333d59-3a5a-4ac3-7203-241f76ae8864.png)

## IDを使ってユーザー名を取得
![スクリーンショット 2022-05-29 161756.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120247/87d0a3ff-83dd-9d17-721d-3a6f83ff6a9f.png)
![スクリーンショット 2022-05-29 161855.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120247/d53904dd-6bd9-1219-bc94-d13252ce7c33.png)
![スクリーンショット 2022-05-29 161934.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120247/5a783095-7adc-b4f0-1524-2bf8f019a610.png)

:::note info
テストを行ってデータが取得できたことを確認してください。
:::

## フォルダーを検索して、存在しなければ作成
![スクリーンショット 2022-05-29 170849.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120247/1ea68f68-4ae3-e9de-72f2-169652da394e.png)
![スクリーンショット 2022-05-29 171000.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120247/975e5d96-5e54-f5df-c4ff-164a4997efb1.png)
![スクリーンショット 2022-05-29 172028.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120247/3c9c3777-55ad-1c2f-16e4-34ea203c354f.png)
![スクリーンショット 2022-05-29 173536.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120247/1ee57225-3ee3-a8e1-2fcb-f9f1ce1142b0.png)

## ファイルをアップロード
![スクリーンショット 2022-05-29 174001.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120247/841d13dd-9415-6b9a-0bcc-194fb991fc3d.png)
![スクリーンショット 2022-05-29 174244.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120247/9d109ce5-412b-8c6c-1ed7-9ae18dc5a433.png)
![スクリーンショット 2022-05-29 174529.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120247/f4bf2834-b957-55d6-ab1f-a834bae4ab81.png)
**テストを行い、作成したフォルダに画像が保存できていることを確認しましょう。**


# 完成
**Slackで画像を投稿すると自動でファイルが保存されました。**
![スクリーンショット 2022-05-29 184802.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120247/f1d8d337-1d3f-de56-fede-8053ef14c34c.png)

# 注意点
* 画像の枚数分Zapのトリガーが起動します。**Zapierの実行回数を考えながら運用してください。**
* このZapの設計上、投稿した画像の枚数分のトリガーがほぼ同時に起動します。一番初めに起動したトリガーが新規フォルダを作成し、残りの画像分のZapではフォルダの検索のみを行います。よって、ファイルサイズが小さい画像を複数枚投稿した場合はトリガーに時間差が生まれずに**同じ名前のフォルダが複数個できる可能性があります。**※未検証です。