# Copyright 2021 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # [START forms_quickstart] from apiclient import discovery from httplib2 import Http from oauth2client import client, file, tools SCOPES = "https://www.googleapis.com/auth/forms.body" DISCOVERY_DOC = "https://forms.googleapis.com/$discovery/rest?version=v1" store = file.Storage("token.json") creds = None if not creds or creds.invalid: flow = client.flow_from_clientsecrets("client_secrets.json", SCOPES) creds = tools.run_flow(flow, store) form_service = discovery.build( "forms", "v1", http=creds.authorize(Http()), discoveryServiceUrl=DISCOVERY_DOC, static_discovery=False, ) # Request body for creating a form NEW_FORM = { "info": { "title": "Quickstart form", } } # Request body to add a multiple-choice question NEW_QUESTION = { "requests": [ { "createItem": { "item": { "title": ( "In what year did the United States land a mission on" " the moon?" ), "questionItem": { "question": { "required": True, "choiceQuestion": { "type": "RADIO", "options": [ {"value": "1965"}, {"value": "1967"}, {"value": "1969"}, {"value": "1971"}, ], "shuffle": True, }, } }, }, "location": {"index": 0}, } } ] } # Creates the initial form result = form_service.forms().create(body=NEW_FORM).execute() # Adds the question to the form question_setting = ( form_service.forms() .batchUpdate(formId=result["formId"], body=NEW_QUESTION) .execute() ) # Prints the result to show the question has been added get_result = form_service.forms().get(formId=result["formId"]).execute() print(get_result) # [END forms_quickstart]