Javascript google drive JS API nextpageToken无效
我只是遵循API文档,使用JSAPI进行了简单的查询 并获取错误400:下一个GetOken的无效值Javascript google drive JS API nextpageToken无效,javascript,api,google-drive-api,Javascript,Api,Google Drive Api,我只是遵循API文档,使用JSAPI进行了简单的查询 并获取错误400:下一个GetOken的无效值 gapi.load('client', function(){ gapi.client.load('drive', 'v3', function(){ gapi.client.init({} ).then(function(){ gapi.client.drive.files.list({ 'q'
gapi.load('client', function(){
gapi.client.load('drive', 'v3', function(){
gapi.client.init({}
).then(function(){
gapi.client.drive.files.list({
'q' : "name contains 'nv'",
'pageSize' : 10,
'fields' : "nextPageToken, files(id, name, webContentLink, folderColorRgb, thumbnailLink, description)",
'orderBy' : 'modifiedTime desc',
}).then(function(respo){
var token = respo.result.nextPageToken;
gapi.client.drive.files.list({
'fields' : '*',
'pageToken' : token
}).then(function(result){console.log(result.result);})
})
})
})
})
从第一个查询返回的令牌是ok的,已满。
但在下一个查询中,它就错了
找不到令牌的格式,所以我无法检查它是否正确
p、 美国测试开发人员控制台,得到令牌,在下一个查询中得到相同的错误。我简直不相信这一点 谷歌做出了如此愚蠢的事情 问题是它需要在下一个查询中写入,而不是pageToken,而是nextPageToken,并且它正在工作 检查了几次,确实如此 在文档中,它写错了,在它们的控制台中也是如此
可耻 我简直不相信这个 谷歌做出了如此愚蠢的事情 问题是它需要在下一个查询中写入,而不是pageToken,而是nextPageToken,并且它正在工作 检查了几次,确实如此 在文档中,它写错了,在它们的控制台中也是如此
可耻 这是我发现的在Google Drive JavaScript操作中尝试分页的最高结果。他们应该在文档中显示一个示例,但我在那里找不到。然而,Facebook就有这样的例子。无论如何,要在其框架中执行分页,请执行以下操作:
//Global variable to hold token pointer
var NextPageToken = '';
function GetFiles() {
gapi.client.drive.files.list({
'pageSize': 25,
'q': "mimeType contains 'image/'",
'fields': "nextPageToken, files(id, name)"
}).then(function (response) {
var files = response.result.files;
// if response.result.nextPageToken exists, use it
if (response.result.nextPageToken) {
NextPageToken = response.result.nextPageToken;
} else {
NextPageToken = false;
}
});
}
function GetNextSetOfImages() {
gapi.client.drive.files.list({
'pageSize': 25,
'q': "mimeType contains 'image/'",
'pageToken': NextPageToken,
'fields': "nextPageToken, files(id, name)"
}).then(function (response) {
var files = response.result.files;
// if response.result.nextPageToken exists, use it
if (response.result.nextPageToken) {
NextPageToken = response.result.nextPageToken;
} else {
NextPageToken = false;
}
});
}
这是我发现的在Google Drive JavaScript操作中尝试分页的最高结果。他们应该在文档中显示一个示例,但我在那里找不到。然而,Facebook就有这样的例子。无论如何,要在其框架中执行分页,请执行以下操作:
//Global variable to hold token pointer
var NextPageToken = '';
function GetFiles() {
gapi.client.drive.files.list({
'pageSize': 25,
'q': "mimeType contains 'image/'",
'fields': "nextPageToken, files(id, name)"
}).then(function (response) {
var files = response.result.files;
// if response.result.nextPageToken exists, use it
if (response.result.nextPageToken) {
NextPageToken = response.result.nextPageToken;
} else {
NextPageToken = false;
}
});
}
function GetNextSetOfImages() {
gapi.client.drive.files.list({
'pageSize': 25,
'q': "mimeType contains 'image/'",
'pageToken': NextPageToken,
'fields': "nextPageToken, files(id, name)"
}).then(function (response) {
var files = response.result.files;
// if response.result.nextPageToken exists, use it
if (response.result.nextPageToken) {
NextPageToken = response.result.nextPageToken;
} else {
NextPageToken = false;
}
});
}
我发现后续页面请求必须与第一个请求具有相同的“q”值,以避免出现HTTP 400错误。例如,如果第一个请求是:
gapi.client.drive.files.list({
'q' : "name contains 'nv'",
'pageSize' : 10,
'fields' : "nextPageToken, files(id, name)"
}).then(function(respo){
...
}
后续请求也必须具有相同的“q”:
gapi.client.drive.files.list({
'q' : "name contains 'nv'",
'pageToken' : nextPageToken,
'pageSize' : 10,
'fields' : "nextPageToken, files(id, name)"
}).then(function(respo){
...
}
确保始终检查nextPageToken的有效性,因为在后续请求中输入空值将重新启动列表操作。我发现后续页面请求必须具有与第一个请求相同的“q”值,以避免出现HTTP 400错误。例如,如果第一个请求是:
gapi.client.drive.files.list({
'q' : "name contains 'nv'",
'pageSize' : 10,
'fields' : "nextPageToken, files(id, name)"
}).then(function(respo){
...
}
后续请求也必须具有相同的“q”:
gapi.client.drive.files.list({
'q' : "name contains 'nv'",
'pageToken' : nextPageToken,
'pageSize' : 10,
'fields' : "nextPageToken, files(id, name)"
}).then(function(respo){
...
}
确保始终检查nextPageToken的有效性,因为在后续请求中输入空值将重新启动列表操作。回答非常好。文档中没有提到需要使用相同的参数重复查询。有人会认为,传递令牌就足以执行下一页的结果,但是,不,整个参数列表必须是相同的。回答很好。文档中没有提到需要使用相同的参数重复查询。有人会认为,传递令牌就足以执行下一页的结果,但是,不,整个参数列表必须是相同的。这似乎是正确的答案。即使是我的linter也告诉我这是错误的,但是pageToken是唯一一个不会让它在运行时抛出错误的。抢手货非常有趣。这似乎是正确的答案。即使是我的linter也告诉我这是错误的,但是pageToken是唯一一个不会让它在运行时抛出错误的。抢手货非常有趣。