1
1

[Google Forms API(V1)] JavaでGoogleフォームを生成・更新する

Posted at

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


おしまい。。
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1