2012-05-03 4 views
0

J'essaye de déterminer comment je peux faire une copie d'un document en utilisant le client Zend Gdata de l'API Google Docs.Copie d'un document à l'aide de l'API Google Docs de Zend Gdata

J'ai le code suivant qui accède à la liste de documents et me permet de récupérer les entrées individuelles.

$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(); 
} 

Je suis en train de déterminer comment je peux faire une copie d'une entrée de document particulier sans avoir à le télécharger et réimporter ensuite. Je sais que cela peut être fait sur la base de la documentation API, mais l'exemple est donné en .NET qui ne semble pas très bien traduit en PHP.

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

Répondre

0

Voici comment je l'ai fait: (feuilles de calcul)

$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); 

Ca y est - qui fonctionne pour moi! Inspiré par How to create an empty spreadsheet using Zend GData [gaetan-frenoy]

Questions connexes