我使用 PHP 获取文件夹列表,然后从 Google Docs 获取文档(两个 API 请求)。
获取文件夹列表,我可以获取它们的folderID,这很好。
但是,在获取文档列表时,它会返回类别,而这些类别仅包含文件夹的名称。
我的问题存在是因为我有两个同名的文件夹,而我的代码正在合并其中的文档,因为它们具有相同的名称。
我用来获取文件夹中文档列表的函数:
/**
* Gets a list of 'internal' IDs of docs within a certain folder
* @global Mixed $fileslist
* @param String $folder
* @return Array
*/
function getDocumentsInFolder($folder) {
global $fileslist;
$docs = array();
foreach ($fileslist as $id => $files) {
if (in_array($folder, $files['folders'])) {
$docs[] = $id;
}
}
return $docs;
}
数组是:
foreach ($list[$i]->category as $cat) {
$folders[] = $cat->label;
}
$folderslist[$i] = array(
'name' => $foldername,
'authorname' => $authorname,
'authoremail' => $authoremail,
'lastupdated' => $lastupdated,
'fid' => $fid
);
$fileslist[] = array(
'name' => $name,
'authorname' => $authorname,
'authoremail' => $authoremail,
'lastupdated' => $lastupdated,
'folders' => $folders,
'id' => $id,
'type' => $list[$i]->extensionElements[0]->text,
);
用于文档列表的 Google Docs API 的 XML 是 @ http://code.google.com/apis/documents/docs/3.0/developers_guide_protocol.html#ListDocs(请注意类别只是文件夹名称)。
任何想法如何阻止文件出现在该文件夹名称的所有实例中,并且只是在它们的正确文件夹中?