0

ストレージに Google ドキュメントを使用するファイルマネージャーを作成していますが、ゴミ箱に移動したファイルを復元する方法がわかりません。このコードを使用してゴミ箱に送ることができます:

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

次に、次を使用して、ゴミ箱に移動したすべてのドキュメントを表示できます。

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

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

私の質問は、これらのファイルの 1 つを削除前の場所に復元するにはどうすればよいですか?

4

1 に答える 1

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);
于 2011-10-03T07:18:39.160 に答える