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

2020年8月9日

テクノロジー

t f B! P L
効率とセキュリティを重要視する、ユゲタです。 いろいろな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に追記する形ができました。 しばらくこれで運用してみて、問題点を探してみようと思います。 今回は、composerに対する愚痴ブログになってしまいましたね。 ペチパーの皆様、どうもすみません。

このブログを検索

プロフィール

自分の写真
プログラミングとサーバーを心の底から楽しむクリエーターです。 経営者であり、開発者でもありますが、得意としているのは、アイデア創出で、出来高は無限大です。

ブログ アーカイブ

QooQ