通过 nextPageToken 在 google 驱动器 API 中检索下一页的正确语法是什么
What is correct syntax of retrieving next page in google drive API through nextPageToken
我正在开发一个应用程序,它通过向 nodeJs API 发出请求来列出 google 驱动器的文件,以获取驱动器中存在的所有文件,我需要请求另一组文件通过这个 API,但我无法弄清楚使用从上一个 drive.files.list({})
收到的 nextPageToken 请求下一页文件的正确方法是什么。我在文档中进行了搜索,但找不到有关此用例的任何示例。
下面是我正在使用的代码,但这段代码只是一次又一次地返回相同的 10 个文件。
..other code here..
drive.files.list({
orderBy: 'name',
q: "",
nextPageToken:req.body.pageToken, // req.body.pageToken is nextPageToken got in previous requests
pageSize: 10,
fields: 'nextPageToken, files(id, name)',
}, (err, resp) => {
..other code here..
我相信你的目标和情况如下。
- 您想使用 Node.js 的 googleapis 将所有文件检索为 Google 驱动器的列表。
- 您已经能够使用驱动器 API 检索文件列表。
- 您的
drive
可用于从您的 Google 驱动器中检索文件列表。
修改点:
nextPageToken
是 pageToken
.
- 最大
pageSize
为1000个。这种情况下,当使用1000个时,可以减少Drive API的使用次数。
- 为了使用
nextPageToken
,在这个回答中,我建议使用do while循环。
当你的脚本修改后,变成如下。
修改后的脚本:
async function main(auth) {
const drive = google.drive({ version: "v3", auth });
const fileList = [];
let NextPageToken = "";
do {
const params = {
// q: "", // In this case, this is not required.
orderBy: "name",
pageToken: NextPageToken || "",
pageSize: 1000,
fields: "nextPageToken, files(id, name)",
};
const res = await drive.files.list(params);
Array.prototype.push.apply(fileList, res.data.files);
NextPageToken = res.data.nextPageToken;
} while (NextPageToken);
console.log(fileList.length); // You can see the number of files here.
}
drive.files.list
returns 答应。所以你可以像上面那样使用脚本。
参考:
我正在开发一个应用程序,它通过向 nodeJs API 发出请求来列出 google 驱动器的文件,以获取驱动器中存在的所有文件,我需要请求另一组文件通过这个 API,但我无法弄清楚使用从上一个 drive.files.list({})
收到的 nextPageToken 请求下一页文件的正确方法是什么。我在文档中进行了搜索,但找不到有关此用例的任何示例。
下面是我正在使用的代码,但这段代码只是一次又一次地返回相同的 10 个文件。
..other code here..
drive.files.list({
orderBy: 'name',
q: "",
nextPageToken:req.body.pageToken, // req.body.pageToken is nextPageToken got in previous requests
pageSize: 10,
fields: 'nextPageToken, files(id, name)',
}, (err, resp) => {
..other code here..
我相信你的目标和情况如下。
- 您想使用 Node.js 的 googleapis 将所有文件检索为 Google 驱动器的列表。
- 您已经能够使用驱动器 API 检索文件列表。
- 您的
drive
可用于从您的 Google 驱动器中检索文件列表。
- 您的
修改点:
nextPageToken
是pageToken
.- 最大
pageSize
为1000个。这种情况下,当使用1000个时,可以减少Drive API的使用次数。 - 为了使用
nextPageToken
,在这个回答中,我建议使用do while循环。
当你的脚本修改后,变成如下。
修改后的脚本:
async function main(auth) {
const drive = google.drive({ version: "v3", auth });
const fileList = [];
let NextPageToken = "";
do {
const params = {
// q: "", // In this case, this is not required.
orderBy: "name",
pageToken: NextPageToken || "",
pageSize: 1000,
fields: "nextPageToken, files(id, name)",
};
const res = await drive.files.list(params);
Array.prototype.push.apply(fileList, res.data.files);
NextPageToken = res.data.nextPageToken;
} while (NextPageToken);
console.log(fileList.length); // You can see the number of files here.
}
drive.files.list
returns 答应。所以你可以像上面那样使用脚本。