サービスのお便りフォームをGoogleSheetに追記

Pocket
LINEで送る
GREE にシェア
LinkedIn にシェア

こんにちわ。
 

効率とセキュリティを重要視する、下駄です。
 

いろいろなWebサービスを作る時に、お便りや、お問い合わせフォームを作る場合に、メールアドレスや名前、IPアドレスなどのアクセス情報をまとめて保存をすると、それはもはや個人を特定できる情報なので、法律で言うところの「個人情報」に該当します。
 

サーバーには、そうした個人情報を持たないことが、手軽に運用できるセキュアサイトとして、安心運用ができるため、これまでは、そういう情報は、管理者に向けてメールを飛ばしてサーバーにはデータを残さないというようにしていました。
 

こうして送られてきたメールをエクセルやGoogleSheetに、書き込んで、管理をしていたのですが、なんだか作業がアホらしく感じてきたので、これを一括自動で行えるように、GoogleAPIを導入してみることにしました。

本日のIT謎掛け

「GoogleAPI」と、かけまして、
 

「補助金の申請作業」と、ときます。
 

そのココロは・・・
 

事前の設定が大変ですが、便利で助かります。

GoogleSheetにデータを追記するまでの道

一昔前は、PHPからシンプルにデータをPOSTすることができていたGoogleサービスですが、サービス数も増えてきた上、セキュリティも考慮された形で、composerを使ったAPIを通して利用する形になっていました。
 

https://github.com/googleapis/google-api-php-client
 

こちらのサイトからソースをcloneすると、中に書かれているREADMEには、
 

composer require google/apiclient:”^2.0″

 

と書かれているので、composerを利用することが前提になっていることがわかる。
 

https://blog.capilano-fw.com/?p=4337
 

色々検索した結果、こちらのページが一番わかりやすかったです。
 

そして、このライブラリ導入してから、以下の工程を行うことになる。
 

googleの設定がかなりめんどくさいんですが、気合を入れて頑張って設定完了しましょう。
 

実際の作業は、上記リンクページの手順で行ってください。

phpバージョンの落とし穴

導入時に、php7.0サーバーで検証をしていた時に、どうしてもPHPエラーがでて先に進めない状態だったので、エラーログを念入りに調べてみると、このcomposerライブラリは、PHP7.1以上のバージョンでないと、正常に動作しないことがわかりました。
 

READMEには、PHP5.4以上と明確に書かれているのに、この点につまずいている人もネット上にたくさんいたので、PHP7.1にアップデートすることで、エラーを回避することができました。
 

ちなみに、7.0でのエラー原因は、const記述されているプログラムの箇所で、defineを使えばいいのに、constを使ってしまっているため、PHP7.0では、エラーにつながっていたようです。
 

composerはファイル数が多いんじゃ

composerでライブラリを一式インストールすると、12,000ほどのファイルがサーバーにインストールされますが、容量的には、60Mぐらい、
 

でも、これを開発員それぞれに入れていくと、ファイル管理をしている開発員からは、悲鳴が上がっていた。
 

たった一つの機能で1万ファイル超えのライブラリは、管理対象にすることはできないと・・・
 

そうした管理は、する必要がないのがcomposerなのだが、本当にこのライブラリファイルを全て使っているのか?という疑いも頭に浮かんだのは間違いない。
 

個人的には、最近の環境構築時のgit,docker,composer,nodemodulesなどは、ストレージ容量を圧迫するケースが多いので、できるだけブラックボックスを無くしたい下駄としては、オレオレフレームワーク推奨派なんですよね。
 

完成

なにはともあれ、GoogleAPI認証の各種設定と、サーバー環境構築、プログラミングを終え、無事にお問い合わせフォームをGoogleSheetに追記する形ができました。
 

しばらくこれで運用してみて、問題点を探してみようと思います。
&nsbp;

今回は、composerに対する愚痴ブログになってしまいましたね。
 

ペチパーの皆様、どうもすみません。

Leave a Reply

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です