はじめに
本ドキュメントの目的
本ドキュメントは「cms Google Drive」に関する検索意図を整理し、ブログ記事向けに分かりやすく情報をまとめることを目的としています。Google Driveを“ファイルストレージ”としてだけでなく、簡易なCMS(コンテンツ管理システム)として活用する方法を紹介します。
背景と利点
Google Driveは多くの人がすでに使っているため、導入コストが低く、リアルタイム編集や履歴管理、共有設定などの機能をそのまま利用できます。小規模サイトや社内ドキュメント公開、ブログ下書きの管理などに向きます。一方で、検索やテンプレート管理、公開制御などは既製CMSほど充実していません。
想定する読者
開発者、ノーコードで運用したい担当者、ブログやドキュメント運営者などを想定します。プログラミング経験がある方はAPI化の手順を、技術が苦手な方はノーコードサービスの活用例を重点的にご覧ください。
本書の構成と読み方
第2章で“DriveをCMSにする発想”を説明し、第3章でGoogle Apps Scriptを使ったWeb APIの作り方を解説します。第4章ではノーコードツールJedwal、第5章ではGoogle Docsから既存CMSへエクスポートするCloudpressを紹介します。用途や技術レベルに応じて必要な章だけ読むことをおすすめします。
Google DriveをCMS化するという発想とは?
発想の核心
Google Drive上のGoogleドキュメントやスプレッドシートを「編集できる元データ」として扱い、Webサイトやアプリに配信する考え方です。ドキュメントは記事やページ、フォルダ構造はカテゴリやセクション、スプレッドシートは製品リストや目次のような構造化データに使えます。読者には普段使っているDriveの操作感でコンテンツを作成できます。
具体例
- ブログ記事:Googleドキュメントを記事として作成し、HTMLに変換して配信。
- カテゴリ管理:フォルダで「技術」「告知」「日記」などを整理。
- データ配信:スプレッドシートをJSONに変換してアプリのデータソースにする。
主なメリット
- 普段使いのUIで編集でき、チームの習熟が早い。
- 専用サーバーやデータベースを用意する必要がほとんどない。
- Driveのバージョン管理や権限管理を活用できる。
注意点
公開設定やアクセス制御を適切に設計してください。大量トラフィックや複雑な検索を必要とする場合は専用CMSやDBの併用を検討すると良いでしょう。
最初の一歩
まずは小さなページや記事で試し、フォルダとテンプレートを整備してから範囲を広げると導入がスムーズです。
Google Apps ScriptでDriveをCMS化:Web APIを自作する手順
概要
Google Apps Script(以下GAS)をWebアプリとして公開し、Drive上のGoogleドキュメントをAPIで返す仕組みを作ります。追加サーバー不要で、Workspace内にスクリプトを保存してHTTPエンドポイントを提供できます。
手順(簡潔)
- 新規GASプロジェクトを作成する。
- Drive APIの「Advanced Drive Service」を有効化する。
- doGet(e) / doPost(e)でパラメータを受け取り、DriveからDocsをHTMLとして取得して返す。
- Webアプリとしてデプロイし、アクセス権を設定する。
サンプル(DocsをHTMLで返す)
function doGet(e){
var id = e.parameter.id;
if(!id) return ContentService.createTextOutput('id required');
var blob = Drive.Files.export(id,'text/html');
var html = blob.getDataAsString();
return HtmlService.createHtmlOutput(html);
}
Drive.Files.exportはDocsをHTMLに変換してくれるので、本文をそのままページに組み込めます。
ファイル検索・一覧のAPI例
DriveApp.searchFilesやDrive APIを使い、特定フォルダ内のドキュメントを一覧化してJSONで返すとCMSのリポジトリになります。
デプロイと認可
実行ユーザーを“自分”にするか“アクセスユーザー”にするかで挙動が変わります。社内限定ならドメイン限定、公開コンテンツなら匿名公開などを選んでください。
運用上のポイント
- セキュリティ: リクエストの検証と公開フォルダ制御を行う。
- キャッシュ: CacheServiceやPropertiesServiceで負荷を下げる。
- 制限: Apps ScriptのクォータやDriveのAPI制限を考慮する。
ユースケース
本文管理、FAQ、社内ポータル、コンテンツリポジトリなど更新頻度の高いサイトで効果を発揮します。
ノーコードでGoogle DriveベースCMSを構築できるサービス:Jedwal
概要
JedwalはGoogle Driveをそのまま編集画面として使い、Google DocsをCMSページ、SheetsをREST APIに変換できるノーコードサービスです。コーディング不要でセットアップでき、Next.jsなどのモダンフレームワークとの連携も想定されています。エンジニアリソースが限られるチームや社内ポータル、小〜中規模サイトに向きます。
主な機能
- Google Docsを読み込んで公開用ページへ変換(パス指定やテンプレート連携が可能)
- Google SheetsをAPI化してデータをJSONで取得
- OAuthでDriveと連携し、アクセス権はGoogle側で管理
- フロントエンドとの統合サポート(静的生成や動的取得に対応)
使い方の流れ(概略)
- Googleアカウントを連携してDriveフォルダを指定します。
- DocsやSheetsをマッピングして公開設定を行います。
- 自動で生成されたページやAPIのURLをフロントエンドから呼び出します。Next.jsなら静的生成やISRで取り込めます。
向いているケース
- エンジニア工数を抑えつつコンテンツ管理をDriveで完結させたい場合
- 社内向けポータルや小規模なコーポレートサイト
- Apps Scriptでの自作が難しいがDrive連携が必須のプロジェクト
注意点
- カスタマイズ性は自作より限定されます。高度なロジックは組みにくいです。
- パフォーマンスやキャッシュ戦略は構成次第で変わります。公開前に動作確認をしてください。
- 機密データを公開しないようDriveの共有設定を必ず確認してください。
Google Docsから既存CMSへ直接エクスポートするツール:Cloudpress
概要
CloudpressはGoogle Docsで作成した記事を、そのまま既存のCMSへ送れるツールです。Docsの書式や見出し、画像挿入などのリッチコンテンツを保ったままエクスポートできます。Docsのアドオンから直接送信するので、作業の手間を減らせます。
主な機能
- リッチテキストのままフォーマットを維持してエクスポート
- 画像のファイル名やaltテキストを保持してアップロード
- CMS側の追加フィールドやタクソノミー(カテゴリ、タグ)へマッピング可能
- 複数ドキュメントの一括エクスポート
- プロジェクト管理ツール連携で公開ワークフローを自動化
- APIやZapier、Make(Integromat)で独自フローに組み込み可能
導入と基本操作の流れ
- DocsにCloudpressアドオンを追加します。
- Docs上で対象ドキュメントを開き、Cloudpressパネルを起動します。
- エクスポート先のCMSを選び、フィールドマッピングを設定します。
- 画像やメタ情報の確認後、送信ボタンを押します。複数選択で一括処理できます。
実務での使い方例
チームでコンテンツを作成し、レビュー後にそのままCMSへ反映する流れを作れます。画像のaltやファイル名も保持されるため、SEO対策やアクセシビリティ対応が楽になります。
注意点
- CMSのバージョンやカスタムフィールドの構成によっては追加設定が必要です。
- 機密情報の扱いには注意し、必要に応じてアクセス制御を行ってください。












