2011-09-30 80 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);