WordPressを使用してGoogleフォームの上に調査ツールを構築しました。
単純に、グーグルフォームを作成し、プライベートオープンリンクを作成し、ワードプレスのバックエンドページに配置すると、システムはモジュールサーバー側を処理し、必要なhtmlファイルを生成します。ユーザーがフォームに入力して送信すると、サーバーはazend gdataを使用して、フォームに接続されたスプレッドシートに結果を書き込みます。
しかし、グーグルフォームがかなり制限されているため、このシステムは制限されています。改善したい。そのため、システムをアップグレードしてさらにいくつかの機能を追加するようにご意見をお聞かせください。
ユーザーが複数回入力できるように、フォームを開いたままにしておくことができるようにしたいと考えています。理論的には、スプレッドシートの行がどのユーザーに接続されているかを知る必要があります。これは、ユーザーを認識するために何らかのIDキーを保存することで実行できますが、フォームから作成されたスプレッドシートには列を接続するためのキーが保持されていないため、フォームのフィールドを再入力する方法がわかりません。およびフォームフィールド。
より多くのフィールドタイプが必要です!アップロードされたファイルを特定のgdriveフォルダに配置するファイルアップロードフィールドのようなものです。
単一のエントリのデータを確認する必要がありますが、Googleは非常に読みにくいスプレッドシート全体のみを提供します。
簡単なことではありません!これらの問題を解決するには、どのソリューションを使用する必要がありますか?
どうもありがとう!
アップグレード:
私たちは、APIアクセスを介してグーグルフォーム、グーグルフュージョンテーブル、グーグルチャートを組み合わせて使用することにしました。簡略化されたアルゴリズムは次のとおりです。
- 管理者ユーザーは、Googleフォームを使用してフォームを作成し、URLを保存します。より多くのフィールドタイプを使用するには、ユーザーはフィールドコメントにタグを付けることができます。たとえば、ファイルをアップロードするための[file]などです。
- URLはシステムの管理ページに配置されます。ページはフォームページのコンテンツをフェッチし、すべてのフィールド、タイトル、ID、タイプ、およびコメントについて配列に外挿します。コメントにタグがある場合、これがフィールドタイプになります。
- このデータを使用して、システムは、存在しない場合はフュージョンテーブルを内部に持つフォルダーを作成します。ファイルフィールドが存在する場合、別のサブフォルダーが生成されます。これらのフォルダとファイルのアドレスが保存されます。
- 配列データを使用して、融合テーブルに、配列フィールドごとに列が作成され、この種類の列タイトル「[field_IDfield_type] field_title」と、エンドユーザーIDの列が作成されます。
- 管理者ユーザーは、フォームをさらに開いたり閉じたりすることができます。
- ユーザーがフォームページに移動すると、配列を使用してフォームが生成されます。システムのメモリにユーザーIDがない場合は、ユーザーがフォームに入力したことがないことを意味します。それ以外の場合、システムはユーザーIDを使用してフュージョンテーブルからデータをフェッチし、フォームにデータを入力します。
- ユーザーがフォームに入力すると、フィールドIDとユーザーIDを参照として使用して、エントリが列にフィードされます。ユーザーIDもシステムに保存されます。ポイント5で述べたように、ユーザーはすでにフォームに入力していることを忘れないでください。ファイルがアップロードされると、ファイルはgdriveフォルダーに保存されます。
- したがって、管理者ユーザーは管理ページにアクセスして、フォームに入力した人数を確認したり、シングルユーザーデータを要求したり、Googleチャートを使用して概要データを取得したり、単一ユーザー、すべてのユーザー、または概要からデータのPDFをダウンロードしたりできます。 。
もちろん、これはアイデアです。私たちはそれを構築する必要があります。最初の質問の1つは、Googleとの通信にjavascriptとphpのどちらを使用する必要があるかということです。そのため、クライアント側またはサーバー側で処理を行います...