2011-09-30 66 views
0

我正在創建一個使用Google文檔存儲的文件管理器,但我很難找出如何恢復已發送到垃圾箱的文件。使用Zend GData從垃圾箱恢復Google文檔

$docs = new Zend_Gdata_Docs($client); 
$docs->setMajorProtocolVersion(3); 
$feed = $docs->getDocumentListFeed($link."-/trashed"); 

foreach($feed->entries as $entry) { 
    ... 
} 

我的問題是如何才能再恢復這些文件中的一個回位置是:

$resourceId = "file:12345"; 
$link = "https://docs.google.com/feeds/default/private/full/"; 
$file = $docs->getDocumentListEntry($link.$resourceId); 
$file->delete(); 

然後我就可以使用查看全部丟棄文件:我可以通過使用此代碼發送到回收站在Google文檔中刪除之前它已被刪除?

+0

好了,摸索出你需要編輯從回收站中恢復的元數據。通過編輯以下內容: '' 至: '' – amburnside

回答

0

好的,所以我研究瞭如何恢復我的Google Docs應用程序中的垃圾文件。代碼如下:

$service = Zend_Gdata_Docs::AUTH_SERVICE_NAME; 
$client = Zend_Gdata_ClientLogin::getHttpClient($gUser, $gPass, $service); 
$client->setHeaders('If-Match: *'); 
$gdocs = new Zend_GData_Docs($client); 
$gdocs->setMajorProtocolVersion(3); 

$slug = array('If-Match'=>'*'); 

$link = "https://docs.google.com/feeds/default/private/full/".$resourceId; 
$entry = $gdocs->getDocumentListEntry($link); 
$xml = $entry->getXML(); 
$feed = str_replace('label="trashed"', 'label=""',$xml); 

$entryResult = $gdocs->updateEntry($feed, $entry->getEditLink()->href,null,$slug); 

這也適用於取消標記文檔和其他類別元素。因此,例如:

替換:

$feed = str_replace('label="trashed"', 'label=""',$xml); 

有了:

$feed = str_replace('label="starred"', 'label=""',$xml);