// Return an existing FolderClient given an existing folderId and on-demand fields func NewFolderClient(c *api.Client, folderId string, fields []string) (*FolderClient, error) { body, header, err := c.GetFolderMetadata(folderId, fields) if err != nil { return nil, err } f := FolderClient{APIClient: c, OnDemand: fields} err = json.Unmarshal(body, &f.Desc) if err != nil { return nil, errors.New("Unable to unmarshal existing Folder") } f.Desc.Etag = header.Get("ETag") return &f, nil }