Rumah >pembangunan bahagian belakang >Golang >API Borang Google - Ralat mencipta, mengemas kini item
Saya cuba mengemas kini borang sedia ada menggunakan api google forms. Saya mengisi medan lokasi dalam permintaan tetapi masih menerima create_item.location.index 无效或未提供的错误消息
Buat kod permintaan
func UpdateForm(formId string, form *forms.Form) *forms.Form { var requestElements []*forms.Request // Update form info requestElements = append(requestElements, &forms.Request{ UpdateFormInfo: &forms.UpdateFormInfoRequest{ Info: form.Info, UpdateMask: "*", }, }) // Add items for i, item := range form.Items { element := &forms.Request{ CreateItem: &forms.CreateItemRequest{ Item: item, Location: &forms.Location{Index: int64(i)}, }, } requestElements = append(requestElements, element) } request := forms.BatchUpdateFormRequest{ IncludeFormInResponse: true, Requests: requestElements, } response, err := formService.Forms. BatchUpdate(formId, &request). Context(context.TODO()). Do() if err != nil { panic(err) } return response.Form }
Nota: Saya menggunakan form api
v1form api
v1
终于找到问题了。当添加一个新项目到表单中时,我们必须从索引 0
开始,但是 0
是 protobuf 中 int
index
0
, tetapi 0
ialah nilai lalai untuk int
dalam protobuf, jadi apabila Ia akan diabaikan apabila permintaan dihantar.
Penyelesaian: Medan hantar paksa 🎜🎜
// Add items for i, item := range form.Items { element := &forms.Request{ CreateItem: &forms.CreateItemRequest{ Item: item, Location: &forms.Location{ Index: int64(i), ForceSendFields: []string{"Index"}, }, }, } requestElements = append(requestElements, element) }
Atas ialah kandungan terperinci API Borang Google - Ralat mencipta, mengemas kini item. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!