2010-11-18 12 views
0
I (php) benim uygulamada Google tablolama işlemek istiyoruz, bu yüzden, bunu yapmak için, ben zend gveri librairy ile google dokümanlar api kullanmak istiyorum

.PHP Zend: Yanlış kapsamı ve Google API tablo

ben zend örnek dokümanlar bu kodu almak ama 500 bir hata alıyorum: Ben bu satırı kaldırdığınızda

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

, tüm iyi çalışır:

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

Benim hatadır "yanlış kapsam "ve doğrulama sırasında kapsamım http://spreadsheets.google.com/feeds/spreadsheets/ (örnek gibi).

Bu hata nasıl çözülür?

cevap

2

Hatanı buldum ve bir hücreyi güncellemek istediğinizde Zend librairy 1.11'de bir hata buldum.

Yani benim ilk hata bu kapsam konur:

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

Ve iyi kapsamı:

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

Ve güncelleme hatası hücre Zend bir PUT isteği göndermek olmasıdır güvenli olmayan bir kapsamda çalıştığınızda https protokolünde http, bu yüzden Google bunu istemez. Benim testi için

(bu iyi bir çözüm değil ama bir test için, bu ^^ Tamam), ben koymak fonksiyonunda dosyası Zend/Gveri/App.php bu satırı ekleyin:

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

Ve bu iş :)