我目前正在制作一个具有Google云端硬盘集成的网站,但我遇到了问题。API文档指出,我可以根据列表对文件列表进行排序,modifiedTime
但是当我尝试发出此请求时,即时通讯会收到无效的值响应。
调用GET https://www.googleapis.com/drive/v2/files?q=%270Bxm0A6z2alblOHk1ZEtrcUF0Slk%27+in+parents&orderBy=folder%2CmodifiedTime%2Ctitle&key=HIDDEN时出错:(400)无效值
摘录自Google Drive API文档:
以逗号分隔的排序键列表。有效键为“ createdTime”,“文件夹”,“ modifiedByMeTime”,“ modifiedTime”,“名称”,“ quotaBytesUsed”,“ recency”,“ sharedWithMeTime”,“ starred”和“ viewedByMeTime”。每个键默认情况下升序排列,但可以使用'desc'修饰符将其反转。用法示例:?orderBy = folder,modifiedTime desc,name。请注意,当前大约有一百万个文件的用户受到限制,其中忽略了请求的排序顺序。
这是我的查询(PHP):
public function listFiles($folder_id)
{
return $this->drive->files->listFiles([
"q" => "'$folder_id' in parents",
"orderBy" => "folder,modifiedTime,title"
]);
}
如果我modifiedTime
从orderBy
值中删除。查询成功完成。
找到了!好像我正在使用Google Drive SDK的v2并查看v3文档。
在v3中,orderBy查询值从更改modifiedDate
为modifiedTime
。
知道这一点后,我将代码更改为:
public function listFiles($folder_id)
{
return $this->drive->files->listFiles([
"q" => "'$folder_id' in parents",
"orderBy" => "folder,modifiedDate desc,title"
]);
}
这使我可以正确排序=)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句