投稿する
📚 YouTubeショート動画量産講座

画像生成AI:Google Drive保存設定入門

Google Apps Script(GAS)を利用して、生成した画像をGoogle Driveの特定フォルダへ自動保存するための設定手順を解説します。

学習ポイント

  • GAS(Google Apps Script)を使用した自動保存スクリプトの設定方法
  • Google DriveのフォルダIDの取得とスクリプトプロパティへの入力手順
  • ファイル名のナンバリングルールと画像の並び順を維持する注意点

画像の生成

■シナリオが作成できたら画像生成の工程に進む

■最初にGoogleドライブに保存するためのGASを作成する

Apps Scriptを新規作成して以下のGASを入力する。

https://script.google.com/home

function doPost(e) {
  try {
    if (!e || !e.postData || !e.postData.contents) {
      return ContentService.createTextOutput(JSON.stringify({ ok: false, error: "No POST body" }))
                           .setMimeType(ContentService.MimeType.JSON);
    }

    // リクエストの JSON をパース
    var body = JSON.parse(e.postData.contents);
    var filename = body.filename || ("image_" + Date.now() + ".png");
    var fileUrl = body.url;

    if (!fileUrl) {
      throw new Error("Missing URL parameter");
    }

    // スクリプトプロパティからフォルダIDを取得
    var props = PropertiesService.getScriptProperties();
    var folderId = props.getProperty("FOLDER_ID");
    if (!folderId) {
      throw new Error("FOLDER_ID is not set in Script Properties");
    }
    var folder = DriveApp.getFolderById(folderId);

    // 画像を取得して保存
    var response = UrlFetchApp.fetch(fileUrl, { muteHttpExceptions: true });
    if (response.getResponseCode() !== 200) {
      throw new Error("Failed to download file. HTTP " + response.getResponseCode());
    }

    var contentType = response.getHeaders()["Content-Type"] || "image/png";
    var blob = Utilities.newBlob(response.getContent(), contentType, filename);
    var savedFile = folder.createFile(blob);

    // 成功レスポンス
    return ContentService.createTextOutput(JSON.stringify({
      ok: true,
      fileId: savedFile.getId(),
      fileName: savedFile.getName(),
      webViewLink: "https://drive.google.com/file/d/" + savedFile.getId() + "/view?usp=sharing"
    })).setMimeType(ContentService.MimeType.JSON);

  } catch (err) {
    // エラーレスポンス
    return ContentService.createTextOutput(JSON.stringify({
      ok: false,
      error: err.message
    })).setMimeType(ContentService.MimeType.JSON);
  }
}

■スクリプトプロパティには保存するためのフォルダIDを入力

■指定フォルダはMyDrive直下の「automoviemaker_s」フォルダ

■デプロイURLをコピーしてDifyのブロックに入力

■画像生成のフローが完了すると指定したフォルダに画像が保存される