Gメールに添付されているファイルを、Googleドライブに保存する

いつもUiPathでロボットを組むときは
誰かが書いてくれたブログのお世話になっています（ありがとうございます！）。
たまには恩返ししなきゃ…！と思って
はじめてのブログを書いてみることにしました。

# Gメールに添付されているファイルを、Googleドライブに保存したい
まず、最初にお断りなのですが、Studio Webのテンプレートから作ったワークフローをダウンロードして、ローカルのStudioで開いて、調整しました。

わたしの環境は
* UiPath Studioのバージョン：2023.10.2
* パッケージ UiPath.GSuite.Activities インストール済み
* Integration Serviceで「Gmail」と「Goole ドライブ」コネクションは追加済み

です。

------
### 処理手順
<img width="80%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3656773/1b97a62b-5d3e-f3b7-4d8b-ce63258fcf90.jpeg">

1. Gメールの「とあるフォルダ」にあるメールの中で、添付ファイルがあれば、
2. 添付ファイルをGoogleドライブに保存して
3. メールを「とあるフォルダ」の下層の「処理済み」フォルダに移動する
------
完成後の全体のワークフローはこんな感じです。

<img width="50%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3656773/aa98718a-a910-ad21-f604-9b5db182253b.jpeg">

ひとつずつ説明していきますね。



------
### （1）『メールのリストを取得』アクティビティ
Gメールの「とあるフォルダ」にあるメールのリストを取得します。

![img03.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3656773/e6bce5e6-e00d-eea7-8082-572da9e9343b.jpeg)

「Gmail」はGoogle Workspeace アカウントのコネクションを選択します。わたしの場合［既定（メールアドレス）］がプルダウンから選択できました。

「メールフォルダ」は、処理対象のメールが入ってるフォルダを選択します。テキストボックスの右端にあるフォルダアイコンをクリックすると、選択肢が出てきます。今回は「とあるフォルダ」の中にあるメールのリストを取得したいので、「とあるフォルダ」を設定しました。

プロパティの出力（変数）を設定します。
名前は<font color="#9e6565">［取得されるGメールのリスト］</font>にしました。

変数の型は
```
System.Collections.Generic.List<UiPath.GSuite.Models.GmailMessage>
```
![img04.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3656773/fe7daf93-ce0d-f13f-401c-58d176a51790.jpeg)

既定は
```
new System.Collections.Generic.List(Of UiPath.GSuite.Models.GmailMessage) From {  }
```
（これは、Studio Webのテンプレートから作ったワークフローを、ローカルのStudioで開くと勝手に入ってました）



------
### （2）『繰り返し（コレクションの各要素）』アクティビティ
![img05.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3656773/f57884f1-3742-d874-572f-babf262789b3.jpeg)
「項目のリスト」には、『メールのリストを取得』アクティビティで設定した変数<font color="#9e6565">［取得されるGメールのリスト］</font>を設定します。
プロパティのArgument typeは「UiPath.GSuite.Models.GmailMessage」を選択します。


------
### （3）『メールの添付ファイルをダウンロード』アクティビティ
『繰り返し（コレクションの各要素）』アクティビティのBodyの中に設定していきます。

![img06.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3656773/0b6e19b9-fc57-4588-c15e-10e902077caf.jpeg)

「メールメッセージ」は『繰り返し（コレクションの各要素）』アクティビティの「項目」の<font color="#568262">［currentItem］</font>を設定します。

プロパティの出力を設定します。
名前は<font color="#6570a8">［ダウンロードされる添付ファイルのリスト］</font>にしました。

変数の型は
```
UiPath.GSuite.Models.GmailAttachmentLocalItem[]
```
![img07.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3656773/3d1d1c5d-ff9f-29ba-018d-bb11174df804.jpeg)

既定は
```
new UiPath.GSuite.Gmail.Models.GmailAttachmentLocalItem() {  }
```
（これも、Studio Webのテンプレートから作ったワークフローを、ローカルのStudioで開くと勝手に入ってました）


------
### （4）『ファイルをアップロード』アクティビティ
（3）でダウンロードしたファイルを、Googleドライブの「Gメールに添付されていたファイル」フォルダに保存します。

<img width="80%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3656773/088af165-e20e-fc9f-7ac0-7acc0cbf6f56.jpeg">

![img09.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3656773/032ceff6-0781-8450-66f1-2ae19b93b8d0.jpeg)



「ファイル」には、『メールの添付ファイルをダウンロード』アクティビティで設定した変数<font color="#6570a8">［ダウンロードされる添付ファイルのリスト］</font>を設定します。

「アップロード先フォルダー」は、Googleドライブの「Gメールに添付されていたファイル」フォルダを設定します。これもテキストボックスの右端にあるフォルダアイコンをクリックして選択できます。


------
### （5）『メールを移動』アクティビティ
Gメールを「とあるフォルダ」の下層の「処理済み」フォルダに移動します。
![ebc5f291-8dec-b991-d6e0-f1c8ae3498e3.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3656773/17f6175f-7ca2-376d-920a-1c02ded0cc65.jpeg)

「移動対象のメール」に、『繰り返し（コレクションの各要素）』アクティビティの「項目」の<font color="#568262">［currentItem］</font>を設定します。

「移動先メールフォルダー」は「処理済み」フォルダを選択します。


------
おつかれさまでした！以上で完成です！
実行してみます！！


<img width="80%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3656773/b4e0238f-beab-10ca-767b-b267c20a9cc6.jpeg">

Googleドライブの「Gメールに添付されていたファイル」フォルダに、メールに添付されていたファイルが保存されています！



<img width="80%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3656773/e1f154ce-51d3-735c-cff2-31f43e9647c1.jpeg">

「とあるフォルダ」にあった添付ファイル付きメールは、「処理済み」フォルダに移動しています！




<img width="80%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3656773/eca1ea05-b4a8-21b9-697b-ea10158cc65e.jpeg">

添付ファイルがなかったメールは、「とあるフォルダ」に残ったままです。



できましたか？
上手に説明できてるといいな！