0

アプリケーション(php)でGoogle Spreasheetを操作したいので、これを行うには、zendgdatalibrairyでgoogledocsapiを使用します。

私はzendサンプルドキュメントでこのコードを取りますが、エラー500が発生します:

$_SESSION['docsSampleSessionToken'] = Zend_Gdata_AuthSub::getAuthSubSessionToken($_GET['token']);
$client = Zend_Gdata_AuthSub::getHttpClient($_SESSION['docsSampleSessionToken']);
$gdClient = new Zend_Gdata_Spreadsheets($client);
$feed = $gdClient->getSpreadsheetFeed();
$currKey = explode('/', $feed->entries[0]->id->text);
$query = new Zend_Gdata_Spreadsheets_DocumentQuery();
$query->setSpreadsheetKey($currKey);
$feed = $gdClient->getWorksheetFeed($query);

この行を削除すると、すべて正常に機能します。

$feed = $gdClient->getWorksheetFeed($query);

私のエラーは「間違ったスコープ」であり、認証中の私のスコープはhttp://spreadsheets.google.com/feeds/spreadsheets/(サンプルのように)です。

このエラーを解決する方法は?

4

1 に答える 1

2

セルを更新したいときに、エラーが見つかり、Zendlibrairy1.11でエラーが見つかりました。

だから私の最初のエラーは私がこのスコープを置くことです:

http://spreadsheets.google.com/feeds/spreadsheets/

そして、良い範囲は次のとおりです。

http://spreadsheets.google.com/feeds/

また、更新エラーセルは、セキュリティで保護されていないスコープで作業している場合、ZendがhttpsプロトコルでPUTリクエストhttpを送信するため、Googleはこれを望んでいません。

私のテストでは(これは良い解決策ではありませんが、テストでは大丈夫です^^)、put関数のファイルZend / Gdata/App.phpに次の行を追加します。

$requestData['url'] = str_replace('https', 'http', $requestData['url']);

そしてそれは仕事です:)

于 2010-11-18T22:48:08.923 に答える