## やりたいこと
スライドにある3つのテキストボックスに対して変数で保持した文字列を挿入するようにしたいです。
## やったこと
その際に
gs
Slides.Presentations.batchUpdate({"requests":requests},presentaionID)
を呼び出す必要があるのですが、複数のオブジェクトに対してそれぞれ文字列を反映させるためのrequestの書き方が公式を参考にしても掴めなかったため質問している次第です。
json
var request1=[ { "deleteText":{"objectId":object_IDs[0],"textRange":{"type":"ALL"}}, }, { "insertText":{"objectId":object_IDs[0],"text":title,"insertionIndex":0}, } ] var request2=[ { "deleteText":{"objectId":object_IDs[1],"textRange":{"type":"ALL"}}, }, { "insertText":{"objectId":object_IDs[1],"text":detail,"insertionIndex":0}, } ] var request3=[ { "deleteText":{"objectId":object_IDs[2],"textRange":{"type":"ALL"}}, }, { "insertText":{"objectId":object_IDs[2],"text":detail2,"insertionIndex":0}, } ] Slides.Presentations.batchUpdate({"requests":request1}, presentationID) Slides.Presentations.batchUpdate({"requests":request2}, presentationID) Slides.Presentations.batchUpdate({"requests":request3}, presentationID)
現状ではこれで無理やり通しているところです。
- 自分としては三回batchUpdateを呼び出していてあまりよくなさそう(上手く言語化できないですが…スマートじゃないと言いますか)と思っています。
- 実際は最後の呼び出しは配列に入れてforループ掛けてます(大して変わらないです)
## こうなって欲しい
json
var requests=[ { "deleteText":{"objectId":object_IDs[0],"textRange":{"type":"ALL"}}, "deleteText":{"objectId":object_IDs[1],"textRange":{"type":"ALL"}}, "deleteText":{"objectId":object_IDs[2],"textRange":{"type":"ALL"}} }, { "insertText":{"objectId":object_IDs[0],"text":title,"insertionIndex":0}, "insertText":{"objectId":object_IDs[1],"text":detail,"insertionIndex":0}, "insertText":{ "objectId":object_IDs[2],"text":detail2,"insertionIndex":0} } ]
期待としてはこのような感じで複数を1リクエストにまとめたいのですがこのようなことはできないのでしょうか。
まだ回答がついていません
会員登録して回答してみよう