从Google Photo API(使用 Go 和 Google Photo REST API)获取媒体项目列表和相册列表后,将项目添加到相册会返回错误。(注意:使用 Web 界面将项目添加到相册效果很好)。将媒体项添加到相册的代码:func (a Album) AddItems(items ...MediaItem) error { rel := &url.URL{Path: fmt.Sprintf("/v1/albums/%s:batchAddMediaItems", a.ID)} u := a.service.baseURL.ResolveReference(rel) for len(items) > 0 { ids := []string{} for i := 0; i < 50 && i < len(items); i++ { ids = append(ids, items[i].ID) } items = items[len(ids):] toAdd := map[string]interface{}{ "mediaItemIds": ids, } bodyData, err := json.Marshal(toAdd) if err != nil { return err } req, err := http.NewRequest("POST", u.String(), bytes.NewBuffer(bodyData)) if err != nil { return err } resp, err := a.service.client.Do(req) if err != nil { return err } defer resp.Body.Close() respErr := struct { Error ServerError `json:"error"` }{} body, err := ioutil.ReadAll(resp.Body) if err != nil { return err } err = json.Unmarshal(body, &respErr) if err != nil { return err } err = respErr.Error.Error() if err != nil { return err } } return nil}服务器返回以下错误:error 400: Request contains an invalid media item id. (INVALID_ARGUMENT). 媒体项 ID 是从搜索请求返回的媒体项的JSON 表示的 ID 字段中复制的。媒体项的其他字段似乎有效(例如 ProductURL)。这个batchAddMediaItems请求有什么问题?或者如何获得适合的有效媒体项目 ID batchAddMediaItems?
目前暂无任何回答
- 0 回答
- 0 关注
- 122 浏览
添加回答
举报
0/150
提交
取消