当前位置: 首页 > 知识库问答 >
问题:

google drive JS API nextpageToken无效

公羊凌
2023-03-14

我只是遵循API文档,使用JS API进行简单查询,得到错误400:nextPageToken的值无效

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);})
            })
        })
    })
}) 

从第一个查询返回的令牌是正常的,使它满。但在下一个查询中,它变得错误了。

我没有找到令牌的格式,所以我无法检查它是好的还是?!

附注。测试过的开发人员控制台,得到了令牌,在下一个查询中得到了同样的错误。

共有2个答案

田丰
2023-03-14

这是我发现的在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;
              }
           });
    }
陆洛城
2023-03-14

我发现后续的页面请求必须具有与第一个请求相同的'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的有效性,因为在后续请求中提供空值将重新启动列表操作。

 类似资料:
  • 型号名称: ssd_mobilenet_v1_ppn_coco https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/detection_model_zoo.md 我尝试使用此命令将模型转换为tflite pb: ValueError:只有第1维度支持无。张量“image_Tensor”的形

  • 问题内容: 我正在在线关注CS106A的讲座。我正在阅读第12讲中的代码,但这给了我Eclipse错误。 这是我的代码。似乎错误是由于我的方法中的单词void 。我尝试删除main方法,但是没有它,Java当然无法运行。 我是一名新手,没有人解释这东西的真正含义,但有人告诉我,请不要理会它并使用它。如果有人也可以向我解释,我将不胜感激。 这个错误也出现在“ toLower”方法上。不知道这意味着什

  • 我们在本地网络的共享环境中使用XAMPP。所有项目都有默认的mysql用户名和密码。最近我试图更改一个项目的用户名和密码。现在我无法访问phpmyadmin。它只显示以下消息: phpMyAdmin试图连接到MySQL服务器,但服务器拒绝了连接。确保您的用户名和密码与管理员提供的MySQL服务器的配置一致。 现在没有人能够访问phpmyadmin。我怎样才能解决这个问题?

  • 我正在尝试为我的登录构建一个提交表单,但我不知道为什么这个操作不起作用。有什么想法吗? > 列表项jquery $(“Form”).Submit(函数(e){e.PreventDefault();switch(this.id){case“login-form”:var$lg_username=$('#login_username').val();var$lg_password=$('#login_

  • 我正在尝试执行查询,但它不断给出错误 ORA-01722:无效号码01722.00000-"无效号码" 我检查了是否有像01722这样的数字。00000或类似在我的表中,但没有。我还检查了查询,如果我在非数值中使用算术运算符,如果我正在比较一个数字和非数字值,但仍然什么都没有。我所有的表列都是类型,现在已经一整天了,我还没有找到如何解决它。查询如下:

  • 问题内容: 从我的代码中,我希望我的卧室类继承超类-房间的长度和宽度。我已在评论的相应行中填充了错误。我遇到错误,找不到出路。请帮帮我? 问题答案: 您的BedRoom类具有 伪构造函数, 而不是真正的构造函数。构造函数不返回任何内容,也不返回空值。摆脱该无效声明。 更改 至

  • 问题内容: 该功能未设置所需的语言(德语)。 目标是输出月份名称。 这是我到目前为止的测试代码: 输出: 六月 代替 朱尼 有什么建议么? 我没有SSH或其他Shell访问权限。 该脚本在Linux服务器上运行。 PHP 5.6版 问题答案: 如果您没有外壳访问服务器,则此解决方案可能会有所帮助。 如果您具有外壳访问权限,那么本杰明·塞勒(BenjaminSeiller)的答案是最好的! 由于我没

  • 当我尝试这个函数时,我得到一个错误。 CRSError:无效的投影: epsg: 4326:(内部程序错误:proj_create: SQLite错误对SELECT名称,类型,coordinate_system_auth_name,coordinate_system_code,datum_auth_name,datum_code,area_of_use_auth_name,area_of_use_