(fileId string)
| 94 | } |
| 95 | |
| 96 | func (d *AliyundriveShare) getFiles(fileId string) ([]File, error) { |
| 97 | files := make([]File, 0) |
| 98 | data := base.Json{ |
| 99 | "image_thumbnail_process": "image/resize,w_160/format,jpeg", |
| 100 | "image_url_process": "image/resize,w_1920/format,jpeg", |
| 101 | "limit": 200, |
| 102 | "order_by": d.OrderBy, |
| 103 | "order_direction": d.OrderDirection, |
| 104 | "parent_file_id": fileId, |
| 105 | "share_id": d.ShareId, |
| 106 | "video_thumbnail_process": "video/snapshot,t_1000,f_jpg,ar_auto,w_300", |
| 107 | "marker": "first", |
| 108 | } |
| 109 | for data["marker"] != "" { |
| 110 | if data["marker"] == "first" { |
| 111 | data["marker"] = "" |
| 112 | } |
| 113 | var e ErrorResp |
| 114 | var resp ListResp |
| 115 | res, err := base.RestyClient.R(). |
| 116 | SetHeader("x-share-token", d.ShareToken). |
| 117 | SetHeader(CanaryHeaderKey, CanaryHeaderValue). |
| 118 | SetResult(&resp).SetError(&e).SetBody(data). |
| 119 | Post("https://api.alipan.com/adrive/v3/file/list") |
| 120 | if err != nil { |
| 121 | return nil, err |
| 122 | } |
| 123 | log.Debugf("aliyundrive share get files: %s", res.String()) |
| 124 | if e.Code != "" { |
| 125 | if e.Code == "AccessTokenInvalid" || e.Code == "ShareLinkTokenInvalid" { |
| 126 | err = d.getShareToken() |
| 127 | if err != nil { |
| 128 | return nil, err |
| 129 | } |
| 130 | return d.getFiles(fileId) |
| 131 | } |
| 132 | return nil, errors.New(e.Message) |
| 133 | } |
| 134 | data["marker"] = resp.NextMarker |
| 135 | files = append(files, resp.Items...) |
| 136 | } |
| 137 | if len(files) > 0 && d.DriveId == "" { |
| 138 | d.DriveId = files[0].DriveId |
| 139 | } |
| 140 | return files, nil |
| 141 | } |
no test coverage detected