編輯:已更新此更符合我想要的東西 - 讓我知道如果它不符合標準,但這可能會有所幫助。我假設你正在使用與Zend框架的MVC模式,所以你可能需要相應調整,否則 試試這個類:
class SpreadsheetAdapter
{
protected $_spreadsheetService;
public function __construct()
{
$client =
Zend_Gdata_ClientLogin::getHttpClient($yourUsername,$yourPassword,
Zend_Gdata_Spreadsheets::AUTH_SERVICE_NAME);
$this->_spreadsheetService = new Zend_Gdata_Spreadsheets($client);
}
public function getSheets()
{
$sheetArray = array();
$totalSheets = count($this->_spreadsheetService->getSpreadsheetFeed()->entries[0]->link);
for($i = 0; $i <= $totalSheets; $i++)
{
$link{$i} = $this->_spreadsheetService->getSpreadsheetFeed()->entries[$i]->link[1]->href;
$title{$i} = $this->_spreadsheetService->getSpreadsheetFeed()->entries[$i]->getTitleValue();
$sheetArray[$link{$i}] = $title{$i};
}
return $sheetArray;
}
public function getRows($spreadsheetKey)
{
// returns a multidimensional array filled with data from populated rows in a Google Docs Spreadsheet
$query = new Zend_Gdata_Spreadsheets_DocumentQuery();
$query->setSpreadsheetKey($spreadsheetKey);
$feed = $this->_spreadsheetService->getWorksheetFeed($query);
return $feed->entries[0]->getContentsAsRows();
}
}
那麼這在你選擇的控制器:
public function spreadAction()
{
$adapter = new SpreadsheetAdapter();
$sheetArray = $adapter->getSheets();
$this->view->sheetArray = $sheetArray;
}
那麼這在你看來:
<h2>Spreadsheets</h2>
<ul>
<?php
foreach($this->sheetArray as $sheet['link'] => $sheet['title'])
{
echo '<li><a href="' . $sheet['link'] . '">' . $sheet['title'] . '</a></li>';
}
?>
</ul>
注:雖然有這樣做,你可以得到H的可能其他方式僅通過使用這樣的事情(我剛剛修改的會是什麼視圖)的電子表格關鍵的時候:
<h2>Spreadsheets</h2>
<ul>
<?php
foreach($this->sheetArray as $sheet['link'] => $sheet['title'])
{
$linkChop = explode('=',$sheet['link']);
$spreadsheetKey = end($linkChop);
echo '<li><a href="http://yourdomain/yourmodule/yourcontroller/youraction/' . $spreadsheetKey . '">' . $sheet['title'] . '</a></li>';
}
?>
</ul>
在上面的例子中,我試圖說明如何使用剛剛的關鍵。如果我在ZF自己做這件事,我會綁定$ spreadsheetKey作爲URL中的一個參數,當路由到一個行動,我想要使用一個方法,如getRows()。如果你想要一個例子,我可以把它放在一起?
欣賞我猜想你想達到什麼,但希望這有助於。
乾杯,
戴夫
約2 STEP AUTH:東西稍微偏離主題可能是有幫助的是確保2級認證被關閉的谷歌帳戶,因爲它會阻止你從這種方式連接。
你可以發佈完整的跟蹤? – prodigitalson
如何獲得完整的跟蹤? – neubert