2010-11-18 31 views
0

私のアプリケーション(PHP)でGoogle Spreasheetを操作したいので、これを行うには、GoogleドキュメントAPIをzend gdata librairyと使いたいです。PHP:Zend:間違ったスコープとGoogle APIスプレッドシート

私は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/です(サンプルのように)。

このエラーを解決するにはどうすればよいですか?

答えて

2

私のエラーが見つかりました。Zend librairy 1.11でセルを更新したいときにエラーが見つかりました。

だから私の最初のエラーは、私がこの範囲置かれた:

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

をそして、良い範囲がある:

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

および更新エラーセルは、ZendがPUTリクエストを送信することですセキュリティで保護されていないスコープで作業するときはhttpsプロトコルでhttpを使用するので、Googleはこれを望まない。私のテストのために

(それは良い解決策ではないのですが、テストのために、それは^^大丈夫です)、私はプット機能でファイルのZend/Gdataの/ App.phpに次の行を追加します。

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

それは仕事です:)

関連する問題