2010-11-18 9 views
0

Je veux manipuler Google Spreasheet dans mon application (en php), donc, pour ce faire, je veux utiliser l'API google docs avec la librairie zend gdata.PHP: Zend: mauvaise portée et feuille de calcul API Google

Je prends ce code dans l'échantillon zend docs mais je reçois une erreur 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); 

Quand je supprimer cette ligne, le travail tout va bien:

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

Mon erreur est « mal portée "et ma portée pendant l'authentification est http://spreadsheets.google.com/feeds/spreadsheets/ (comme l'échantillon).

Comment résoudre cette erreur?

Répondre

2

J'ai trouvé mon erreur et j'ai trouvé une erreur dans Zend librairy 1.11 quand vous voulez mettre à jour une cellule.

Ma première erreur je mets ce champ:

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

Et la bonne portée est:

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

Et la cellule d'erreur de mise à jour est que Zend envoyer une demande PUT http dans le protocole https lorsque vous travaillez dans une portée non sécurisée, donc Google ne veut pas cela.

Pour mon test (ce n'est pas une bonne solution, mais pour un test, il est ok ^^), j'ajouter cette ligne dans le fichier Zend/Gdata/app.php dans la fonction de vente:

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

Et c'est du travail :)

Questions connexes