Google スプレッドシート との連携機能


a-blog cms Ver.2.8.0より拡張アプリ「Google Sheets」を利用できるようになります。 a-blog cmsの拡張アプリ「Google Sheets」を使うとお問い合わせフォームなどで送信された内容をGoogle スプレッドシートで作成した任意のスプレッドシートの最後の行に追記することができます。

拡張アプリの導入

拡張アプリ一覧 より Google Sheets の拡張アプリをダウンロードし、zipファイルを解凍します。解凍したフォルダを /extension/plugins/に設置します。



そして、config.server.phpを1にし、拡張アプリからHook処理をかけられるようにします。

define('HOOK_ENABLE', 1);

CMSを設置したサイトにアクセスし、管理画面 > 拡張アプリの順にページを移動し、 Google Sheets をインストールします。


API連携の方法

以下の3つのステップで a-blog cms と Google スプレッドシート を連携します。

  1. ClientID JSON の取得
  2. ClientID JSON を CMS側に登録
  3. フォームIDに書き込みしたいSpreadsheetIDとSheetIDを紐づける

1. ClientID JSON の取得

まずは、Google Cloud Platform にアクセスしてログインしてください。

ログイン後、セレクトメニューをクリックし、プロジェクトを選択します。



任意の名前でプロジェクトを新規作成するか、既に別のAPIをつかっていて設定している場合はプロジェクトを選択します。


次は、サイドバーの「ライブラリ」という項目をクリックし、API ライブラリのページに移動します。そのページにて、Google Sheet APIという項目を検索して有効化してください。





最後にサイドバーの「認証情報」」という項目をクリックし、認証情報」のページに移動します。そこで新たにOAuth クライアント ID を作成します。 アプリケーションの種類として、「ウェブアプリケーション」を設定して、「認証済みのリダイレクトURI」には「ドメイン名/bid/(現在使用しているブログのBID)/admin/app_google_spreadsheet_callback」を設定します。



※新規でプロジェクトを作成した場合、OAuthクライアントID作成前に同意画面の設定を登録する必要があります(2021年3月現在)

アプリケーションの種類を「ウェブアプリケーション」を選択してOAuthクライアントIDを作成してください。



※ablogcms.ioで「認証済みのリダイレクトURI」に正常に登録できない場合は、「OAuth同意画面」のページにある公開ステータスの項目を「テスト」にすれば登録できます(2021年3月現在)

その後、クライアントIDなどの情報が記述されたJSONファイルをダウンロードしましょう。


次にダウンロードしたJSONファイルをサーバーにアップロードします。ドキュメントルート以下にアップロードをするとブラウザからアクセスできてしまいますので、ドキュメントルートより上の階層にアップロードするのが望ましいです。

2. ClientID JSON を CMS側に登録

CMSの管理画面に戻り、サイドバーに「Google Sheets」という項目が増えているので、クリックして Google Sheets のページへ移動します。

そして先ほど設置したJSONファイルへのパスを記述します。絶対パスで記述しましょう。パスを記述後、設定を保存してから、「認証」ボタンをクリックして認証するようにしましょう。

※ablogcms.ioで行う場合は、ルートディレクトリには設置できないため、「themes」フォルダなどにJSONファイルを設置します。 ablogcms.ioでの記述例: /var/www/vhost/xxxxxx.ablogcms.io/html/themes/xxxxxxxx.json


3. フォームIDに書き込みしたいSpreadsheetIDとSheetIDを紐づける

さらにCMSの管理ページで、フォームIDに対して書き込みたい Google Sheets のIDを指定する必要があります。
管理画面 > フォームの順にページを移動し、任意のフォームIDの変更画面に移動すると、「Google スプレッドシート Form 設定」という項目が増えています。


Spreadsheet IDと Sheet ID は、開いている スプレッドシート のURLから調べることができます。

https://docs.google.com/spreadsheets/d/{Spreadsheet ID}/edit#gid={Sheet ID}

設定が完了すれば、お問い合わせフォームから送信された内容を Google スプレッドシート に自動で追加登録できます。下の図のような実行結果になっていれば成功です。