効率とセキュリティを重要視する、ユゲタです。
いろいろな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に対する愚痴ブログになってしまいましたね。
ペチパーの皆様、どうもすみません。
0 件のコメント:
コメントを投稿