コーディング レベル: 初級
所要時間: 10 分
プロジェクトの種類: イベント ドリブン トリガーを使用した自動化
目標
- ソリューションの機能を理解します。
- Apps Script サービスがソリューション内でどのように機能するかを理解します。
- スクリプトを設定します。
- スクリプトを実行します。
このソリューションについて
Google フォームを使用して、Google ドライブにファイルを同時にアップロードして整理できます。 フォームには、アップロードするファイルとファイルの編成方法に関する入力が含まれます。
仕組み
設定関数により、アップロードされたすべてのファイルを保存するフォルダと、フォームが送信されるたびに起動するトリガーが作成されます。ユーザーがフォームに入力するときに、アップロードするファイルとファイルを保存するサブフォルダを選択します。ユーザーがフォームを送信すると、スクリプトは対応するサブフォルダにファイルを転送します。フォルダがまだ存在しない場合は、スクリプトによって作成されます。
Apps Script サービス
このソリューションでは、次のサービスを使用します。
- スクリプト サービス - フォームが送信されるたびに配信されるトリガーを作成します。
- プロパティ サービス - トリガーの重複を防ぐために、スクリプトがセットアップ中に作成するトリガーの ID を保存します。
- ドライブ サービス - 設定中に、ドライブ内でのフォームの場所を取得し、同じ場所にフォルダを作成します。ユーザーがフォームを送信すると、ドライブ サービスはそのフォルダにファイルを転送し、選択した場合は指定されたサブフォルダに転送します。サブフォルダがまだ存在しない場合は、スクリプトによって作成されます。
- フォーム サービス - ユーザーがフォームを送信した後に選択したファイルとフォルダ名を取得し、ドライブ サービスに送信します。
前提条件
このサンプルを使用するには、次の前提条件を満たす必要があります。
- Google アカウント(Google Workspace アカウントの場合、管理者の承認が必要になる場合があります)。
- インターネットにアクセスできるウェブブラウザ。
スクリプトを設定する
フォームを作成する
- forms.google.com にアクセスし、[空のアイコン ] をクリックします。
- [無題のフォーム] をクリックし、フォームの名前を「ドライブにファイルをアップロード」に変更します。
- [無題の質問] をクリックし、質問の名前を「サブフォルダ」に変更します。
- [サブフォルダ] の質問で、その他アイコン > [説明] をクリックします。
- [説明] に、「ファイルを保存するサブフォルダを選択」と入力します。<なし> を選択すると、ファイルは [Uploaded files] フォルダに保存されます。
- サブフォルダの質問に次のオプションを追加します。
- <なし>
- プロジェクト A
- プロジェクト B
- プロジェクト C
- 質問を必須にするには、[必須] をクリックします。
- 質問を追加アイコン をクリックします。
- [選択式] をクリックし、[ファイルのアップロード] を選択します。
- [続行] をクリックします。
- [質問] に「アップロードするファイル」と入力します。アップロードを許可するファイル形式と最大数を選択できます。
- 質問を必須にするには、[必須] をクリックします。
Apps Script プロジェクトを作成する
- フォームで、その他アイコン > [スクリプト エディタ] をクリックします。
- [無題のプロジェクト] をクリックし、プロジェクトの名前を「ドライブにファイルをアップロード」に変更します。
- 別のスクリプト ファイルを作成するには、ファイルを追加 > [スクリプト] をクリックします。ファイルに
Setup
という名前を付けます。 両方のスクリプト ファイルの内容を次の内容に置き換えます。
Code.gs
Setup.gs
スクリプトを実行する
- Apps Script エディタで、
Setup.gs
ファイルに切り替えます。 - 関数のプルダウンで、
setUp
を選択します。 - [実行] をクリックします。
プロンプトが表示されたら、スクリプトを承認します。OAuth 同意画面に「このアプリは確認されていません」という警告が表示された場合は、[詳細設定] > [{プロジェクト名}(安全でない)に移動] を選択します。
フォームに戻り、プレビュー アイコン をクリックします。
フォームでサブフォルダを選択し、ファイルをアップロードします。
[送信] をクリックします。
ドライブに移動し、[ドライブにファイルをアップロード(ファイル レスポンス)] フォルダを開きます。アップロードしたファイルは、フォームで選択したサブフォルダにあります。
協力者
このサンプルは、Google Developer Experts の協力により Google が保守しています。