メールにその他の添付ファイルを追加するには、以下の各セクションで説明するように、メールを構成するときに [Other Attachments] プロパティを設定します。
- その他の添付ファイルとしてサポートされているファイル形式
- [Other Attachments] プロパティを設定する
- AppSheet がその他の添付ファイルを特定する仕組み
- その他の添付ファイルをアプリで制限する
- その他の添付ファイルを保護する
AppSheet が行う処理は、指定したファイルをメールに添付することだけです。メール添付ファイルのテンプレートのように、メール添付ファイルの変数を置き換えることはありません。
その他の添付ファイルとしてサポートされているファイル形式
メールには、さまざまな形式のファイルを添付できます。たとえば、写真、図形描画、PDF ファイル、Microsoft Office ファイルなどを添付するのが一般的です。
AppSheet は、その他の添付ファイルとして、以下のファイル形式をサポートしています。
- 画像
- サムネイル
- 署名
- 図形描画
- PDF ファイル
- Microsoft Word ファイル
- Microsoft Excel ファイル
- CSV ファイル
- JSON ファイル
- XML ファイル
- 先行する [Create a new file] タスクで作成されたファイル
- その他の種類のファイル
[Other Attachments] プロパティを設定する
[Other Attachments] プロパティを構成するときは、以下の項目を指定できます。
- ファイル名:
MyPhoto.jpegやMyWordFile.docxなど。 - 単純な列式:
[ImageColumn]や[FileColumn]など。列にはファイル名が格納されます。 - 複雑な式:
[ProductRef].[ProductPhoto]のような逆参照。この例では、[ProductPhoto]列にファイル名が格納されます。 - 親テーブルの画像は、子テーブルに保存するのが一般的です。これにより各親レコードは、0 個、1 個、またはそれ以上の子画像を持つことができます。各子レコードには、画像フィールドと、親レコードに対する
Refフィールドが含まれます。親レコードには、子の画像レコードのキー値を格納するReverse Refフィールドが含まれます。たとえば、親レコードのReverse RefフィールドがRelated Imagesで、子レコードの画像フィールドがImageの場合、[Related Images][Images]と指定することで、子画像を添付ファイルとして含めることができます。
添付できるファイルは、同じ bot か前の bot で以前に呼び出された [Create a new file] タスクによって作成されたファイルです。
AppSheet がその他の添付ファイルを特定する仕組み
AppSheet は、認証プロバイダとそのプロバイダがファイルを保存できるかどうかに基づいて、その他の添付ファイルが特定の場所に存在することを予期します。
ファイルを保存できる認証プロバイダ
Google、Microsoft、Dropbox、Box など、ファイルを保存できる認証プロバイダの場合、AppSheet は以下の場所にその他の添付ファイルがないか確認します。
- bot が含まれているフォルダ
その他の添付ファイルで、フォルダ名なしのファイル名が指定されている場合、AppSheet は bot が含まれているフォルダ内でファイルを検索します。その他の添付ファイルで、フォルダ名とファイル名の両方が指定されている場合、AppSheet は bot が含まれているフォルダ内で、そのフォルダとファイルのパスを検索します。 - デフォルトのフォルダパス
デフォルトのフォルダパスは、[My Account] > [Settings] > [App Creator Settings] に移動し、[Default folder path] プロパティを更新することで定義します。たとえば、デフォルトのフォルダパスがFilesで、ファイル名がMyFileName.pdfの場合、パスは次のようになります:Files/MyFileName.pdf
その他の添付ファイルでフォルダパスが指定されている場合は、そのパスを値に含めます。例:Files/MyFolderPath/MyFileName.pdf
[Create a new file] タスクを使用して作成したファイルは、デフォルトのフォルダパスに保存されます。たとえば、デフォルトのフォルダパスが Files で、ファイル名が MyFileName.pdf の場合、パスは次のようになります: Files/MyFileName.pdf
[Create a new file] タスクで [File Folder Path] が指定されている場合は、それを値に含めます。例: Files/MyFolderPath/MyFileName.pdf
ファイルを保存できない認証プロバイダ
SQL Server、MySQL、SmartSheet など、ファイルを保存できない認証プロバイダの場合、AppSheet は、Google Drive、Dropbox、Office 365、Box など、アプリケーション作成者のプライマリ AppSheet アカウントに関連付けられたメインのクラウド ファイル システムで、その他の添付ファイルを検索します。
デフォルトのフォルダパスは、[My Account] > [Settings] > [App Creator Settings] に移動し、[Default folder path] プロパティを更新することで定義します。
たとえば、デフォルトのフォルダパスが Files で、ファイル名が MyFileName.pdf の場合、パスは次のようになります: Files/MyFileName.pdf
その他の添付ファイルでフォルダパスが指定されている場合は、そのパスを値に含めます。例: Files/MyFolderPath/MyFileName.pdf
その他の添付ファイルをアプリで制限する
ユーザーがアプリに追加できるその他の添付ファイルは、次のように制限します。
- アプリのユーザーがアプリに追加できるその他の添付ファイル名を含む EnumList フィールドを作成します。たとえば、Attachments という名前の EnumList フィールドを作成し、PDF1、PDF2、PDF3 の各値を定義します。
- メールを構成する際に、Other Attachments プロパティで次の式を指定します:
LIST(IF(CONTAINS([Attachments], "PDF1"),"PDF1.pdf","")) + LIST(IF(CONTAINS([Attachments], "PDF2"),"PDF2.pdf","")) + LIST(IF(CONTAINS([Attachments], "PDF3"),"PDF3.pdf",""))
その他の添付ファイルを保護する
その他の添付ファイルは、AppSheet が取得できるように、適切に保護する必要があります。通常、アプリはアプリオーナーの ID で実行されるため、その他の添付ファイルは、アプリオーナーが読み取れるように保護する必要があります。
まれなケースですが、アプリが非公開テーブルを使用している場合は、現在のアプリのユーザーが読み取れるように、その他の添付ファイルを保護する必要があります。これは、非公開テーブルが使用されている場合、アプリの作成者ではなく、アプリのユーザーの ID でアプリが実行されるためです。また、非公開ファイルを使用する場合、AppSheet は、その非公開ユーザーの自動化プロセスに関連するその他の添付ファイルを検索します。そのため、各非公開ユーザーのその他の添付ファイルは、そのユーザーに固有のものとなります。