I use PHP to get a list of folders, and then documents from Google Docs (two API requests).
Getting a list of the folders, I can get their folderID, which is fine.
However, when getting a list of documents, it returns categories, and these only contain the name of the folder.
My problem exists because I have two folders with the same name, and my code is merging the documents from these, because they have the same name.
The function I use to get a list of the documents within the folder:
/**
* 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;
}
And the arrays are:
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,
);
The XML the Google Docs API for the list of documents is @ http://code.google.com/apis/documents/docs/3.0/developers_guide_protocol.html#ListDocs (Note how the categories are just folder names).
Any ideas how to stop files appearing in all instances of that folder name, and just in their proper folder?
Fixed it 🙂
The document list returns:
Which contains the folder ID, I was able to store this in the document list and then compare.