如何 json 在 PHP 中使用 Google 驱动器 API 对 foreach 进行编码
How to json encode foreach in PHP with Google Drive API
我在使用 ajax 和将 foreach 与 google 驱动器 api
一起使用时遇到问题
PHP:
$(document).ready(function(){
$("#example").on('click', '.checklist', function(e) {
e.preventDefault();
var id2 = e.target.getAttribute('data-id');
$('.filelist').DataTable({
destroy : true,
"ajax": {
"url": "get_files_json.php",
"type" : "POST",
"data": { 'folder_id': id2 },
"dataSrc": ""
},
"columns": [
{ "data": "id_folder" }
],
"order": [
[ 0, 'asc' ]
]
});
});
});
JSON 文件:
$client = new Google_Client();
$client->setApplicationName('Google Drive API PHP Quickstart');
$client->setAuthConfig('gdrive/json/'. $_SESSION['json'] . '.json');
$client->setScopes(Google_Service_Drive::DRIVE);
$client->setSubject($_SESSION['json_email']);
$client->setAccessType('offline');
$service = new Google_Service_Drive($GLOBALS['client']);
$idfolder = $_POST['folder_id'];
$parameters2['pageSize'] = 1000;
$parameters2['orderBy'] = "modifiedTime desc";
$parameters2['q'] = "mimeType!='application/vnd.google-apps.folder' and '$idfolder' in parents";
$parameters2['fields'] = 'files(id, name, modifiedTime, mimeType,size,webContentLink,webViewLink), nextPageToken';
$sub_files = $service->files->listFiles($parameters2);
$data = array(); //create empty array
foreach($sub_files as $kk => $sub_file) {
$data[] = array(
"id_folder" => $sub_file['name']
);//assign each sub-array to the newly created array
}
echo json_encode($data);
错误信息:
“DataTables 警告:table id=filelist - 无效 JSON 响应。有关此错误的更多信息”
显然,经过数小时的尝试和测试,我找到了解决方案。
我刚放
@
在我的
$sub_files
变量
答案:
@$sub_files = $service->files->listFiles($parameters2);
我在使用 ajax 和将 foreach 与 google 驱动器 api
一起使用时遇到问题PHP:
$(document).ready(function(){
$("#example").on('click', '.checklist', function(e) {
e.preventDefault();
var id2 = e.target.getAttribute('data-id');
$('.filelist').DataTable({
destroy : true,
"ajax": {
"url": "get_files_json.php",
"type" : "POST",
"data": { 'folder_id': id2 },
"dataSrc": ""
},
"columns": [
{ "data": "id_folder" }
],
"order": [
[ 0, 'asc' ]
]
});
});
});
JSON 文件:
$client = new Google_Client();
$client->setApplicationName('Google Drive API PHP Quickstart');
$client->setAuthConfig('gdrive/json/'. $_SESSION['json'] . '.json');
$client->setScopes(Google_Service_Drive::DRIVE);
$client->setSubject($_SESSION['json_email']);
$client->setAccessType('offline');
$service = new Google_Service_Drive($GLOBALS['client']);
$idfolder = $_POST['folder_id'];
$parameters2['pageSize'] = 1000;
$parameters2['orderBy'] = "modifiedTime desc";
$parameters2['q'] = "mimeType!='application/vnd.google-apps.folder' and '$idfolder' in parents";
$parameters2['fields'] = 'files(id, name, modifiedTime, mimeType,size,webContentLink,webViewLink), nextPageToken';
$sub_files = $service->files->listFiles($parameters2);
$data = array(); //create empty array
foreach($sub_files as $kk => $sub_file) {
$data[] = array(
"id_folder" => $sub_file['name']
);//assign each sub-array to the newly created array
}
echo json_encode($data);
错误信息:
“DataTables 警告:table id=filelist - 无效 JSON 响应。有关此错误的更多信息”
显然,经过数小时的尝试和测试,我找到了解决方案。
我刚放
@
在我的
$sub_files
变量
答案:
@$sub_files = $service->files->listFiles($parameters2);