Copie un documento usando Zend Gdata Google Docs API

Estoy tratando de determinar cómo puedo hacer una copia de un documento usando el cliente Zend Gdata de Google Docs API.

Tengo el siguiente código que accede a DocumentList y me permite recuperar las entradas individuales.

$service = Zend_Gdata_Docs::AUTH_SERVICE_NAME;

$sourceClient = Zend_Gdata_ClientLogin::getHttpClient($sourceUser, $sourcePass, $service);

$sourceDocs = new Zend_Gdata_Docs($sourceClient);

$entry = new Zend_Gdata_Docs_DocumentListEntry();

$docfeed = $sourceDocs->getDocumentListFeed();

foreach ($docfeed->entries as $entry)
{
      $entry->getTitleValue();
}

Estoy tratando de determinar cómo puedo hacer una copia de una entrada de documento en particular sin tener que descargarla y luego volver a cargarla. Sé que se puede hacer según la documentación de la API, pero el ejemplo se proporciona en .NET, que no parece traducirse muy bien a PHP.

Enlace API de Google Docs https://developers.google.com/google-apps/documents-list/#copying_documents

preguntado el 03 de mayo de 12 a las 14:05

1 Respuestas

Así es como lo hice: (hojas de cálculo)

$service = Zend_Gdata_Docs::AUTH_SERVICE_NAME;
$sourceClient = Zend_Gdata_ClientLogin::getHttpClient($sourceUser, $sourcePass, $service);
$connection = new Zend_Gdata_Spreadsheets($sourceClient);

// Get the Id of a sheet you want to copy [ensure its an object]
$titleOfSheetToCopy = 'CopyMe';
$feed = $connection->getSpreadsheetFeed();
foreach($feed as $entry) {
  if($entry->getTitle() == $titleOfSheetToCopy) {
    // this is a url string so you need to clean it
    $data = (string)$entry->getId();
    $data = explode("/",$data);
    $id = array_pop($data);
  }
}

// Create blank Entry Object       
$blankEntry = new Zend_Gdata_Spreadsheets_SpreadsheetEntry();

// Set title
$blankEntry->setTitle(new Zend_Gdata_App_Extension_Title("My new spreadsheet", null));

// Set the id to the id of the sheet you want to copy (we got that above)
$blankEntry->setId(new Zend_Gdata_App_Extension_Id($id);

Eso es todo - ¡Funciona para mí! Inspirado por Cómo crear una hoja de cálculo vacía usando Zend GData [gaetan-frenoy]

contestado el 23 de mayo de 17 a las 11:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.