Zend_GData Spreadsheet - grid-idのクエリパラメータの値が無効です

私はZend_GDataライブラリを介してGoogleスプレッドシートを更新しようとしています。ユーザーIDとパスワードが正しいことを確信しています。私は問題がスプレッドシートキーまたはワークシートIDであると思う。私はこのワークシートIDを取得する方法を正確にはわかりません。親切に私にこれを手伝ってください。これはmワークシートの正確なURLです。

https://docs.google.com/spreadsheet/ccc?key=0AmW1-CVeX7oOdGRkYURWNXVMRi1DTW9NTGNhZ09OTGc&hl=en_US#gid=0

ここに私のコードです。

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

}

これはブラウザの画面に表示されるエラーメッセージです。

予想される応答コード200、400が得られました。グリッドIDのクエリパラメータの値が無効です。

3

2 答え

私は問題を修正した。私は蛇のコードを使用して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 
"; foreach($feed->entries as $entry) { echo "ID of sheet {$entry->title->text} is " . basename($entry->id) . "
"; }

一度私はそれらの値を得ても私のスクリプトは動作しませんでした。次に、私たちが配列を定義するとき、 'キーはスペースなしで小文字で述べるべきです。

$spreadsheetService->insertRow(array('name'=>'Prasad','value'=>'10000'),$spreadsheetKey,$worksheetId);
5
追加された
幸運を...それを聞いて幸せは有用だった。
追加された 著者 Prasad Rajapaksha,
あなたの答えを投稿していただきありがとうございます。私を助けたトン。
追加された 著者 Andrew Cheong,
これは、他の初心者ガイドが単純すぎるので、Zend Frameworkを最小限に抑えるための最良のソリューションです。このスクリプトをありがとう!
追加された 著者 Laci,

このコードも試してみてください

<?php
// load Zend Gdata libraries
require_once 'Zend/Loader.php';
Zend_Loader::loadClass('Zend_Gdata_Spreadsheets');
Zend_Loader::loadClass('Zend_Gdata_ClientLogin');

// set credentials for ClientLogin authentication
$user = "xxxxxxxxxxxxxxx";
$pass = "xxxxxxxxxxxxxxx";
try {  
 //connect to API
  $service = Zend_Gdata_Spreadsheets::AUTH_SERVICE_NAME;
  $client = Zend_Gdata_ClientLogin::getHttpClient($user, $pass, $service);
  $service = new Zend_Gdata_Spreadsheets($client);

 //get list of available spreadsheets
  $feed = $service->getSpreadsheetFeed();
} catch (Exception $e) {
  die('ERROR: ' . $e->getMessage());
}
foreach($feed->entries as $entry) {
    $spreadsheetURL = $entry->id;
}
$spreadsheetKey = basename($spreadsheetURL);
$query = new Zend_Gdata_Spreadsheets_DocumentQuery();
$query->setSpreadsheetKey($spreadsheetKey);
$feed = $service->getWorksheetFeed($query);
echo "Spreadsheet Key: $spreadsheetKey 
"; foreach($feed as $entry) { $sName = $entry->title->text; echo "ID of sheet $sName is: ".basename($entry->id)."
"; } ?>
0
追加された
PHP - 日本のコミュニティ [ja]
PHP - 日本のコミュニティ [ja]
4 参加者の

このグループではPHPについて話します。 パートナー:kotaeta.com