如何检索特定文件夹中的所有文件?

问题描述 投票:0回答:1

我发现这是一种解决方案,但对我不起作用:

$ optParams = array('pageSize'=> 10,'fields'=>“ nextPageToken,files(contentHints / thumbnail,fileExtension,iconLink,id,name,size,thumbnailLink,webContentLink,webViewLink,mimeType,parents)”,父母中的'q'=>“'”。$ folderId。“'); $ results = $ service-> files-> listFiles($ optParams);

这是我的代码:

$ client-> setClientSecret('xxxxxx');$ client-> setRedirectUri('https://wosbc.com/oauth2callback.php');$ client-> setScopes('https://www.googleapis.com/auth/readonly');$ client-> setAccessType('offline'); $ client-> setPrompt('consent');

$$ credentialsPath =“ credentials.json”;

如果(file_exists(“ credentials.json”)){$ access_token =(file_get_contents(“ credentials.json”));;$ client-> setAccessToken($ access_token);//刷新令牌(如果令牌已过期)。如果($ client-> isAccessTokenExpired()){回显“ accesstoken已过期”;$ client-> fetchAccessTokenWithRefreshToken($ client-> getRefreshToken());file_put_contents($ credentialsPath,json_encode($ client-> getAccessToken()));回声“保存getAccessToken“;}$ drive_service =新的Google_Service_Drive($ client);// $ mp3array = $ drive_service->文件-> listFiles(array())-> getFiles();可行,但不可行按文件夹$ folderid =“ xxxxxxxxx”列出;$ optParams =数组('pageSize'=> 10,'fields'=>“ id,name”,父母中的'q'=>“'”。$ folderId。“'); $ mp3array = $ drive_service->文件-> listFiles($ optParams);

对不起,代码格式化的方式。这产生了以下错误:

致命错误:未捕获的Google_Service_Exception:{“错误”:{“错误”:[{“ domain”:“ global”,“ reason”:“ notFound”,“ message”:“文件不存在找到:。“,” locationType“:”参数“,” location“:” fileId“}],“代码”:404,“消息”:“找不到文件:”。 }于/home/wosbccom/public_html/google-api-php-client-2.4.1/src/Google/Http/REST.php:119堆栈跟踪:#0/home/wosbccom/public_html/google-api-php-client-2.4.1/src/Google/Http/REST.php(94):Google_Http_REST :: decodeHttpResponse(Object(GuzzleHttp \ Psr7 \ Response),对象(GuzzleHttp \ Psr7 \ Request),'Google_Service _...')#1/home/wosbccom/public_html/google-api-php-client-2.4.1/src/Google/Task/Runner.php(176):Google_Http_REST :: doExecute(Object(GuzzleHttp \ Client),对象(GuzzleHttp \ Psr7 \ Request),'Google_Service _...')#2/home/wosbccom/public_html/google-api-php-client-2.4.1/src/Google/Http/REST.php(58):Google_Task_Runner-> run()#3/home/wosbccom/public_html/google-api-php-client-2.4.1/src/Google/Client.php(842):Google_Http_REST :: execute(Object(in/home/wosbccom/public_html/google-api-php-client-2.4.1/src/Google/Http/REST.php在第119行

你能告诉我我做错了什么吗?

php google-drive-api
1个回答
0
投票

在您的脚本中,$ folderid =“ xxxxxxxxx”;被声明为$ folderid。但是$ folderId用于父母中的'q'=>“'”。$ folderId。“'。我认为我和我之间的这种拼写错误是您当前错误消息的原因。您可以通过修改它来测试脚本吗?这样,如果错误消息没有被删除或更改,我深表歉意。

请按如下所示修改脚本。

在您的脚本中,$folderid = "xxxxxxxxx";被声明为$folderid。但是$folderId用于'q' => "'".$folderId."' in parents"。我认为iI之间的这种拼写错误是您当前错误消息的原因。

请进行如下修改。

发件人:

$folderid = "xxxxxxxxx";

收件人:

$folderId = "xxxxxxxxx";

发件人:

'q' => "'".$folderId."' in parents

收件人:

'q' => "'".$folderid."' in parents
© www.soinside.com 2019 - 2024. All rights reserved.