Pra*_*sha 3 php zend-framework google-sheets zend-gdata
我正在尝试通过Zend_GData库更新Google电子表格.我确定用户ID和密码是正确的.我认为问题在于电子表格密钥或工作表ID.即使我不知道如何获得这个workheetID.请帮助我.这是m工作表的确切URL.
这是我的代码.
$user = 'xxxxxxxxxxxxxxxxxxxxxx';
$pass = 'xxxxxxxxxxxxxxxxxx';
$service = Zend_Gdata_Spreadsheets::AUTH_SERVICE_NAME;
$client = Zend_Gdata_ClientLogin::getHttpClient($user, $pass, $service);
$spreadsheetService = new Zend_Gdata_Spreadsheets($client);
$spreadsheetKey = "0AmW1-CVeX7oOdGRkYURWNXVMRi1DTW9NTGNhZ09OTGc";
$worksheetId = "Sheet1";
try
{
$spreadsheetService->insertRow(array('Prasad','10000'),$spreadsheetKey,$worksheetId);
}
catch(Exception $error)
{
echo $error->getMessage() ;
}
Run Code Online (Sandbox Code Playgroud)
这是我在浏览器屏幕上看到的错误消息.
预期的响应代码200,得到400无效的grid-id查询参数值.
我解决了这个问题.我可以使用下面的代码找到SpreadsheetKey和WorkSheetID.
$user = 'xxxxxxxxxxxxxxx';
$pass = 'xxxxxxxxxxxxx';
$service = Zend_Gdata_Spreadsheets::AUTH_SERVICE_NAME;
$client = Zend_Gdata_ClientLogin::getHttpClient($user, $pass, $service);
$spreadsheetService = new Zend_Gdata_Spreadsheets($client);
$feed = $spreadsheetService->getSpreadsheetFeed();
$sheetName = "Test1";
foreach($feed->entries as $entry)
{
if($entry->title->text == $sheetName)
{
$spreadsheetURL = $entry->id;
break;
}
}
$spreadsheetKey = basename($spreadsheetURL);
$query = new Zend_Gdata_Spreadsheets_DocumentQuery();
$query->setSpreadsheetKey($spreadsheetKey);
$feed = $spreadsheetService->getWorksheetFeed($query);
echo "Spreadskeet Key : $spreadsheetKey <br/>";
foreach($feed->entries as $entry)
{
echo "ID of sheet {$entry->title->text} is " . basename($entry->id) . " <br/>";
}
Run Code Online (Sandbox Code Playgroud)
一旦我得到这些值,我的脚本也无效.然后我发现当我们定义数组时,'Key'应该以小写字母提到,没有空格.
$spreadsheetService->insertRow(array('name'=>'Prasad','value'=>'10000'),$spreadsheetKey,$worksheetId);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3893 次 |
| 最近记录: |