1 | |
2 |
|
3 | import * as wmill from "windmill-client@1"; |
4 |
|
5 | type Gdrive = { |
6 | token: string; |
7 | }; |
8 | export async function main(gdrive_auth: Gdrive) { |
9 | const START_PAGE_URL = `https://www.googleapis.com/drive/v3/changes/startPageToken/`; |
10 |
|
11 | let last_start_page_token: string | undefined = |
12 | await wmill.getInternalState(); |
13 |
|
14 | const token = gdrive_auth["token"]; |
15 |
|
16 | if (last_start_page_token == undefined) { |
17 | const START_PAGE_URL = `https://www.googleapis.com/drive/v3/changes/startPageToken`; |
18 |
|
19 | const response_sp = await fetch(START_PAGE_URL, { |
20 | method: "GET", |
21 | headers: { |
22 | Authorization: "Bearer " + token, |
23 | "Content-Type": "application/json", |
24 | }, |
25 | }); |
26 | const start_page_result = await response_sp.json(); |
27 |
|
28 | last_start_page_token = start_page_result["startPageToken"]; |
29 | } |
30 |
|
31 | const CHECK_CHANGES_URL = `https://www.googleapis.com/drive/v3/changes/?pageToken=${last_start_page_token}`; |
32 |
|
33 | const changes_response = await fetch(CHECK_CHANGES_URL, { |
34 | method: "GET", |
35 | headers: { |
36 | Authorization: "Bearer " + token, |
37 | "Content-Type": "application/json", |
38 | }, |
39 | }); |
40 |
|
41 | const result_changes = await changes_response.json(); |
42 |
|
43 | await wmill.setInternalState(result_changes["newStartPageToken"]); |
44 |
|
45 | return result_changes["changes"]; |
46 | } |
47 |
|