2011-09-30 6 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

, 그래서 밖으로 일을 휴지통에서 복원 할 수있는 메타 데이터를 편집해야합니다. 다음을 편집하여 '' to : amburnside

답변

0

좋아, 그럼 Google 문서 도구 앱에서 휴지통을 복원하는 방법을 알아 냈습니다. 코드는 다음과 같습니다.

$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); 
관련 문제