Google Forms API V1(Java)を使用して、
Googleフォームを生成・更新する方法
についてご紹介します。
APIを利用する環境の準備から始める場合や、コードを実行する際は、
⧉[Google Forms API(V1)] JavaでForms APIを使う
を参照ください。
No | 目次 | |
---|---|---|
1 | フォームを生成 | |
1 | スコープ | |
2 | 実行 | |
3 | レスポンスの内容 | |
2 | フォームの更新 | |
1 | スコープ | |
2 | 実行 | |
3 | レスポンスの内容 |
1. フォームを生成
新しく空のGoogleフォームを作成します。
生成時にフォームの内容は設定できません。
内容の設定は、2. フォームの更新で行います。
1.1. スコープ
このAPIを実行するには、以下のいずれかのスコープを指定してください。
FormsScopes.DRIVE
FormsScopes.DRIVE_FILE
FormsScopes.FORMS_BODY
⧉[Google Forms API(V1)] JavaでForms APIを使う(2.2 Gmailインスタンスを取得)
でスコープを指定してください。
1.2. 実行
フォームのタイトルとファイル名を設定して空のGoogleフォームを生成します。
public static void main(String[] args) throws Exception{
Forms forms = getForms();
Forms.FormsOperations op = forms.forms();
Form content = new Form();
content.setInfo(new Info().setTitle("タイトル名").setDocumentTitle("ファイル名"));
Forms.FormsOperations.Create create = op.create(content);
Form res = create.execute();
System.out.println(res);
}
1.2.1. HTTPリクエスト
POST: https://forms.googleapis.com/v1/forms
が実行されます。
1.2.2. クエリパラメータ
クエリパラメータはありません。
1.2.3. リクエストボディ
Formのsetメソッドにより、リクエストボディを設定できます。
Form(Set)
メソッド | 引数 | 説明 |
---|---|---|
setInfo | Info | 【必須】フォームのタイトル情報 |
Info(Set)
メソッド | 引数 | 説明 |
---|---|---|
setTitle | String | 【必須】フォームのタイトル |
setDocumentTitle | String | ファイル名(ファイルのタイトル) |
1.3. レスポンスの内容
Form
メソッド | 戻り値 | 説明 |
---|---|---|
getFormId | String | フォームID |
getRevisionId | String | フォームのリビジョンID |
getResponderUri | String | 回答者と共有するフォームURI |
getInfo | Info | フォームの情報 |
Info
メソッド | 戻り値 | 説明 |
---|---|---|
getTitle | String | フォームのタイトル |
getDocumentTitle | String | ファイル名(ファイルのタイトル) |
2. フォームの更新
フォームを更新します。
2.1. スコープ
このAPIを実行するには、以下のいずれかのスコープを指定してください。
FormsScopes.DRIVE
FormsScopes.DRIVE_FILE
FormsScopes.FORMS_BODY
⧉[Google Forms API(V1)] JavaでForms APIを使う(2.2 Gmailインスタンスを取得)
でスコープを指定してください。
2.2. 実行
更新したいフォームのIDを指定し、更新内容をRequestに追加します。
public static void main(String[] args) throws Exception{
Forms forms = getForms();
Forms.FormsOperations op = forms.forms();
BatchUpdateFormRequest content = new BatchUpdateFormRequest();
content.setRequests(Arrays.asList(new Request())); //更新したい内容を追加してください。
Forms.FormsOperations.BatchUpdate batchUpdate = op.batchUpdate("フォームID",content);
BatchUpdateFormResponse res = batchUpdate.execute();
System.out.println(res);
}
2.2.1. HTTPリクエスト
POST: https://forms.googleapis.com/v1/forms/{フォームID}:batchUpdate
が実行されます。
2.2.2. クエリパラメータ
クエリパラメータはありません。
2.2.3. リクエストボディ
BatchUpdateFormRequestのsetメソッドにより、リクエストボディを設定できます。
メソッド | 引数 | 説明 |
---|---|---|
setIncludeFormInResponse | Boolean | レスポンスでモデルの更新バージョンを返すか |
setRequests | List<Request> | 【必須】更新リクエスト |
setWriteControl | WriteControl | 書き込みリクエストの実行方法 |
Request
メソッド | 引数 | 説明 |
---|---|---|
setUpdateFormInfo | UpdateFormInfoRequest | 更新するフォームの情報 |
setUpdateSettings | UpdateSettingsRequest | 更新するフォームの設定 |
setCreateItem | CreateItemRequest | 新しく作成するアイテム |
setMoveItem | MoveItemRequest | アイテムを移動する場所 |
setDeleteItem | DeleteItemRequest | 削除するアイテム |
setUpdateItem | UpdateItemRequest | 更新するアイテム |
UpdateFormInfoRequest
メソッド | 引数 | 説明 |
---|---|---|
setInfo | Info | 更新するフォームの情報 |
setUpdateMask | String | 【必須】更新するフィールド Infoクラスのフィールドを文字列で指定 |
Info
⧉[Google Forms API(V1)] GoogleフォームとFormクラス(Info)
を参照ください。
UpdateSettingsRequest
メソッド | 引数 | 説明 |
---|---|---|
settings | FormSettings | 【必須】更新するフォームの設定 |
setUpdateMask | String | 【必須】更新するフィールド FormSettingsクラスのフィールドを文字列で指定 |
FormSettings
⧉[Google Forms API(V1)] GoogleフォームとFormクラス(FormSettings)
を参照ください。
CreateItemRequest
メソッド | 引数 | 説明 |
---|---|---|
setItem | Item | 新しく作成するアイテム |
setLocation | Location | 【必須】アイテムを配置する場所 |
Item
⧉[Google Forms API(V1)] GoogleフォームとFormクラス(Item)
を参照ください。
Location
メソッド | 引数 | 説明 |
---|---|---|
setIndex | Integer | フォーム内のアイテムのインデックス |
MoveItemRequest
メソッド | 引数 | 説明 |
---|---|---|
setOriginalLocation | Location | 移動するアイテムの場所 |
setNewLocation | Location | 新しいアイテムの場所 |
DeleteItemRequest
メソッド | 引数 | 説明 |
---|---|---|
setLocation | Location | 削除するアイテムの場所 |
UpdateItemRequest
メソッド | 引数 | 説明 |
---|---|---|
setItem | Item | 【必須】更新するアイテム |
setLocation | Location | 更新するアイテムの場所 |
setUpdateMask | String | 【必須】更新するフィールド Itemクラスのフィールドを文字列で指定 |
WriteControl
メソッド | 引数 | 説明 |
---|---|---|
setRequiredRevisionId | String | 書き込みリクエストが適用されるフォームのリビジョンID |
setTargetRevisionId | String | 書き込みリクエストが適用されるフォームのターゲットリビジョンID |
2.3. レスポンスの内容
BatchUpdateFormResponse
メソッド | 戻り値 | 説明 |
---|---|---|
getForm | Form | フォームの情報 |
getReplies | List<Response> | 更新情報の返信 |
getWriteControl | WriteControl | リクエスト適用後に更新された書き込みコントロール |
Form
⧉[Google Forms API(V1)] GoogleフォームとFormクラス(Form)
を参照ください。
Response
メソッド | 戻り値 | 説明 |
---|---|---|
getCreateItem | CreateItemResponse | アイテムを作成した結果 |
CreateItemResponse
メソッド | 戻り値 | 説明 |
---|---|---|
getItemId | String | 作成されたアイテムID |
getQuestionId | List<String> | このアイテムの一部として作成された質問ID |
おしまい。。