web-dev-qa-db-ja.com

GoogleドライブスプレッドシートをMySQLデータベースのように機能させることはできますか?

GoogleドライブスプレッドシートをMySQLデータベースと同じように使用できますか?

HTML/JavaScriptウェブゲームのプレイヤーデータベースとして使用することを考えています。プレイヤーのユーザー名、パスワード、スコアなどはデータベースに保存されます。それが実際に機能する場合は本当に興味深いですが、もちろん安全でプライベートである必要があります。そのため、たとえば私であるスプレッドシートの所有者以外のプレイヤー(またはそのことについてはインターネット上の誰も)はアクセスできません。 。

Google Apps Scriptを使用すると、ユーザーは自分のスプレッドシートにアクセスして読み書きできるようになりますが、他のユーザーが自分のスプレッドシートに「自分のスコアを保存」して、自分のスプレッドシートを表示または編集する権限を与えないようにすることができます直接スプレッドシート?

また、スプレッドシートとの接続を開いたり閉じたりするためにも必要となると想定しているアカウント情報を非表示にするために、PHP/Python /その他のサーバー側言語を使用する必要があると想定しています。

とにかく、これが可能かどうか疑問に思っています。文字どおりGoogleドライブのスプレッドシートをデータベースに変換します。プレーヤーはスコアを更新できますが、直接アクセスすることはできません。

これは愚かな考えかもしれませんので、あなたの意見は大歓迎です!

前もって感謝します!

19
Jacob

追加のサーバーが必要である、またはoauthは正しくありません。許可を使用してappscript(匿名のパブリック)サービスを公開するだけです。すべての操作で常にユーザー名とパスワードを渡し、すべての呼び出しでユーザーを検証してください。 。ajaxを使用してクライアントjsからサービスを呼び出します。それをscriptdbに保存します[update:scriptDbは非推奨になりました]ストレージにスプレッドシートを使用すると、多くの行で遅くなります。

いずれにしても、appscriptを使用すると遅くなります。

3
Zig Mandel

これは正しい方法です。別の投稿 同じ考えを説明しています。基本的に、スプレッドシートを公開し、「選択」のような構文を使用してクエリを実行します。例えば: this query これは次のようなものを読みます:

https://spreadsheets.google.com/tq?tqx=out:html&tq=select+B,C,I&key=phNtm3LmDZEObQ2itmSqHIA

これは、データのクエリ(読み取り)用です。挿入には、Googleフォームを使用できます(フォームを作成し、そのhtmlを確認して、httpポストリクエストを使用して送信します)。更新についてはまだ調べていません。

そして、はい、これはサーバー側で行う必要があります。

6
Jus12

クライアントライブラリ用に別の認証レイヤーを実装し、Google認証を使用してドライブと通信するサーバー側サービスがないと、これは不可能です。

0
Burcu Dogan