質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Google フォーム

Google フォームは、 Google社が提供しているアンケートフォーム作成および集計ができる無料のツール。Googleアカウントがあれば利用が可能です。集計データは、スプレッドシートに収集され、データ分析もできます。

Google ドライブ

Google ドライブは、Google社が提供するオンラインストレージサービス。オンラインストレージ上に、画像や動画、テキスト、Word/PDFのファイルなどさまざまなファイル保存することができます。また、他のユーザーと共有することも可能です。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

131閲覧

python ”Creation of file_upload question not supported" エラーが解決できない

sugisaki0422

総合スコア1

Google フォーム

Google フォームは、 Google社が提供しているアンケートフォーム作成および集計ができる無料のツール。Googleアカウントがあれば利用が可能です。集計データは、スプレッドシートに収集され、データ分析もできます。

Google ドライブ

Google ドライブは、Google社が提供するオンラインストレージサービス。オンラインストレージ上に、画像や動画、テキスト、Word/PDFのファイルなどさまざまなファイル保存することができます。また、他のユーザーと共有することも可能です。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2024/04/20 06:46

実現したいこと

googleformAPIのfileUploadQuestionとgoogledriveAPIを使って、最大1つのファイルをアップできるgoogleフォームを作成したい。

発生している問題・分からないこと

https://developers.google.com/forms/api/reference/rest/v1/forms#FileUploadQuestion
上記のサイトの説明通りにfileUploadQuestionのコードを入力し、実行したところ、エラーが出てしまいました。

エラーメッセージ

error

1HttpError: <HttpError 400 when requesting https://forms.googleapis.com/v1/forms/1GZPobnGDgFyZSK1gd-OAPOerVqWfGZyEvPIzo1hxnqc:batchUpdate?alt=json returned "Invalid requests[0]: Creation of file_upload question not supported.". Details: "Invalid requests[0]: Creation of file_upload question not supported.">

該当のソースコード

python

1from pythonEx2024 import get_creds 2from googleapiclient.discovery import build 3 4creds = get_creds() 5form_service = build("forms","v1",credentials = creds) 6 7NEW_FORM = { 8 "info" : { 9 "title" : "L02_01", 10 "documentTitle" : "L02_01" 11 } 12} 13 14NEW_QUESTION = { 15 "requests" : [ 16 { 17 "createItem" : { 18 "item" : { 19 "title" : ( 20 "ファイルをアップロードしてください" 21 ), 22 "questionItem" : { 23 "question" : { 24 "required" : True, 25 "fileUploadQuestion" : { 26 "folderId" : "11tD0KQtzZkprxdaTpt8y9a0N8HP9CvMV1?ths=true", 27 "types" : ["ANY"], 28 "maxFiles" : 1, 29 }, 30 } 31 }, 32 }, 33 "location" : {"index" : 0}, 34 } 35 } 36 ] 37} 38 39result = form_service.forms().create(body=NEW_FORM).execute() 40 41question_setting = ( 42 form_service.forms() 43 .batchUpdate(formId = result["formId"], body = NEW_QUESTION) 44 .execute() 45) 46 47get_result = form_service.forms().get(formId = result["formId"]).execute() 48print(get_result)

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

googleformAPIのfileUploadQuestionに関するページを見つけることが出来なかったため、対処することが出来ませんでした。

補足

特になし

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

エラーに書かれている内容の通り、サポートされていないので不可能です。
REST APIを使用してファイルアップロードの項目をcreate(新規作成)することは、現時点ではサポートされておらず不可能ということです。

できるのは、フォームIDを使用して、既存のフォームに手動で設置済みのアップロード項目の情報を取得(get)することだけです。

GASを使ってアップロード項目を新規作成することも不可能です。つまりAPIを使ってアップロード項目をスマートに新規作成する手段は、現時点では存在しません(RPA除く)。

APIで各オブジェクトに対して可能な操作
・batchUpdate (一括更新)
・create (新規作成)
・get (情報の取得)
の3つですが、すべてのオブジェクトについて3つの操作が可能というわけではなく、一部のオブジェクトについては一部の操作が不可能です。

投稿2024/04/20 07:54

編集2024/04/20 07:55
patapi

総合スコア713

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sugisaki0422

2024/04/20 08:25

ご回答ありがとうございます! やはりそうだったのですね…学校の課題として出されたものだったので まさかとは思いましたが。詳しく説明してくださり、ありがとうございました!
guest

0

API では FileUploadQuestion は作成できないようです。

https://developers.google.com/forms/api/reference/rest/v1/forms?hl=ja#FileUploadQuestion

ファイルのアップロードに関する質問。現在のところ、API ではファイルのアップロードに関する質問を作成できません。

投稿2024/04/20 07:15

satokei

総合スコア1217

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sugisaki0422

2024/04/20 08:25

ご回答ありがとうございます! 無事解決いたしました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問