このページでは、Google Forms API の Apps Script ウェブアプリの例の概要について説明します。
前提条件
- Google Cloud プロジェクトで Forms API を有効にします。
- サンプル ウェブアプリの GitHub README ファイルの説明に沿って、新しい Apps Script プロジェクトを設定します。
概要
Forms API を使用すると、認証済みのクライアントは REST を使用して API に直接アクセスできます。
Apps Script には、有効な OAuth アクセス トークンを取得して REST 呼び出しを行う方法が用意されているため、Apps Script を Forms API と直接統合できます。Apps Script には、スクリプトでフォームの作成、アクセス、変更を行える既存の Forms Service がすでに用意されています。ただし、Apps Script から直接 Forms API を使用する場合は、次のように OAuth アクセスを設定します。
スコープ設定済みの認証済み OAuth アクセス トークンを取得します。
ScriptApp.getOAuthToken();API への REST 呼び出しで指定する options 引数に OAuth トークンを含めます。
UrlFetchApp.fetch(Url, options);
実際の例については、Apps Script プロジェクトを設定するをご覧ください。設定ガイドには、API の呼び出しに必要なインフラストラクチャの詳細が記載されています。ただし、ユーザーが API に直感的にアクセスできるようにするには、サンプル ウェブアプリを試して変更することもできます。
ウェブアプリの使用例
すべての Forms API メソッドを直接呼び出す完全なサンプル ウェブアプリは、apps-script-samples GitHub リポジトリで入手できます。
ウェブアプリの実行
プロジェクトを設定してウェブアプリとしてデプロイしたら、いくつかのオペレーションを試すことができます。
[フォームを作成] ボタンをクリックして、新しいフォームを作成します。
新しいフォームが [フォーム ID:] フィールドに表示され、[フォームで開く] をクリックして開くことができます。
新しいフォームが別のウィンドウで開いたら、手動で質問をいくつか追加し、[Get Form by Id] をクリックします。右側の JSON 出力に新しい質問が表示されます。
アプリで利用可能な他のメソッドを試し、各オペレーションの出力を右側で確認します。
フォーム対応のスマートウォッチを使用する
フォームの時計のボタンにも注目してください。これらは Forms API のウォッチ機能を使用し、ウォッチの作成、一覧表示、削除、更新を行うオペレーションを実行します。Cloud Pub/Sub トピックを使用するには、トピックを含むプロジェクトを設定する必要があります。
Forms API のウォッチと Cloud Pub/Sub の詳細については、プッシュ通知を設定して受信するをご覧ください。
次のステップ
ニーズに合わせてサンプルアプリをカスタマイズしてみてください。いくつか例を挙げましょう。
- Google スプレッドシートに問題群を作成し、Apps Script の SpreadsheetApp サービスを使用して、スプレッドシートから問題を取得して新しいフォームに入力します。
- また、質問バンクを SQL データベースに保存し、Apps Script の JDBC サービスを使用して、データベースの質問をフォームに入力することもできます。
- テストを生成し、スコアを Google スプレッドシートの成績表に保存します。
- Cloud Pub/Sub を使用してプロジェクトを設定し、ウォッチ機能を使用して、クイズの結果を表示するリアルタイムの生徒のランキングを生成します。