2010-09-29 65 views

回答

4

下面是一個腳本,您可以使用該腳本輸出特定電子表格的所有工作表及其ID。這需要「名」的URL查詢字符串這是你想要的(如名稱的-file.php?NAME = myspreadsheet)

<?php 
    set_include_path($_SERVER["DOCUMENT_ROOT"] . "/library/"); 

    require_once 'Zend/Loader/Autoloader.php'; 
    $autoloader = Zend_Loader_Autoloader::getInstance(); 
    $autoloader->setFallbackAutoloader(true); 

/** 
* Username, password and the name of the spreadsheet we would like to use 
* Note that the spreadsheet is case sensitive and white space sensitive 
*/ 

    $user = "your-gmail-account-name-at-gmail-dot-com"; 
    $pass = "your-gmail-account-password"; 
    if($_POST['name']) 
    { 
     $spreadsheetToFind = $_POST['name']; 
    } 
    elseif($_GET['name']) 
    { 
     $spreadsheetToFind = $_GET['name']; 
    } 

/** 
* Establish a connection to our spreadsheets and get a complete list of them 
*/ 

    $service   = Zend_Gdata_Spreadsheets::AUTH_SERVICE_NAME; 
    $client    = Zend_Gdata_ClientLogin::getHttpClient($user, $pass, $service); 
    $spreadsheetService = new Zend_Gdata_Spreadsheets($client); 
    $feed    = $spreadsheetService->getSpreadsheetFeed(); 

/** 
* We loop through all of the spreadsheets until we have found the one 
* declared earlier. The id of the spreadsheet is then extracted using 
* basename and we store the id for use in our next query, to 
* obtain all of the worksheets in the spreadsheet 
*/ 

    foreach($feed->entries as $entry) 
    {    
     $spreadsheetTitle = $entry->title->text; 

     if($spreadsheetTitle == $spreadsheetToFind) 
     { 
      $spreadsheetURL = $entry->id; 
     } 
    } 

    $spreadsheetKey = basename($spreadsheetURL); 

    $query = new Zend_Gdata_Spreadsheets_DocumentQuery(); 
    $query->setSpreadsheetKey($spreadsheetKey); 
    $feed = $spreadsheetService->getWorksheetFeed($query); // now that we have the desired spreadsheet, we need the worksheets 

/** 
* Loop through all of our worksheets and echo 
* its name as well as its id 
*/ 

    echo("<table><tr><td><strong>Spreadsheet Name:</strong></td><td>" . $spreadsheetToFind . "</td></tr><tr><td><strong>Spreadsheet ID:</strong></td><td>" . $spreadsheetKey . "</td></tr>"); 

    foreach($feed->entries as $entry) 
    { 
     echo("<tr><td><strong>".$entry->title->text . ": </strong></td><td>".basename($entry->id)."</td></tr>"); 

    } 

    echo("</table>"); 
?> 

注意的IDS,其工作表,此腳本依賴電子表格的名稱放在名爲'library'的文件夾中的Zend庫上。

+0

哇!我不相信有人仍在看這個問題。這很有趣,因爲我放棄了,並告訴人們打開一些測試頁面,我做了一個測試頁面,顯示了電子表格的Ctrl和F的名稱,一旦你發現它向後看斜線,然後採取下一步三個字母,這是工作表ID。今天我會看看這個! – tooshel 2011-08-01 14:49:56

+0

如果您需要對劇本進行任何說明,請告知我們。我最近在Google Docs API上做了很多工作,並使用它來獲取我的ID。應該比查看斜槓文本和三字母ID:p更簡單 – 2011-08-01 14:59:13

相關問題