web-dev-qa-db-fra.com

Comment accéder à l'API Google Spreadsheets en PHP?

En commençant par le développeur Google documentation sur l'API Google Spreadsheets , j'ai constaté que "Un certain nombre de bibliothèques clientes sont fournies dans différentes langues.", Mais Google ne fournit que des bibliothèques clientes pour Java et .NET. Pour une bibliothèque PHP, ils recommandent d'utiliser Zend GData. Donc, je me suis dirigé vers le Zend GData repo , et Zend dit que leur Le composant GData est abandonné, et pour utiliser Bibliothèque cliente des API Google pour PHP . Cette bibliothèque ne fonctionne pas avec l'API Spreadsheets, pour cela vous devez revenir à la page d'origine avec laquelle j'ai commencé.

Donc, il semble que tout le monde passe la balle. J'ai juste besoin d'écrire du code PHP qui demande et traite les données d'une feuille de calcul Google. Comment faire? Veuillez ne pas me lier à des articles ou des pages similaires sans vérifier pour être sûr que ils sont à 100% à jour, j'ai passé au crible un énorme gâchis de messages pendant des heures qui sont tous remplis de dépendances obsolètes et obsolètes.

19
Jo Sprague

Vous pouvez utiliser la bibliothèque PHP Google Spreadsheet Client .

Vous devrez également utiliser la Bibliothèque cliente des API Google pour PHP pour vous authentifier via OAuth2. La documentation du développeur est liée sur la page github.

11
aman

Merci pour les conseils et les liens sur cette page, je voulais partager ce que j'ai fini par faire pour lire une feuille de calcul google en php. Vous pouvez accéder à la feuille de calcul au format json et vous n'avez pas besoin d'utiliser le framework api ou zend ou la bibliothèque gdata. PhP peut gérer json très facilement et c'était la solution la plus soignée à laquelle je pouvais parvenir car elle ne dépend d'aucune bibliothèque tierce.

Voici un exemple de lien pour obtenir une feuille de calcul au format json.

https://spreadsheets.google.com/feeds/list/key/1/public/full?alt=json

Veuillez noter que si la feuille de calcul est privée, vous devez toujours suivre les étapes d'authentification pour obtenir un jeton pour accéder à la page. Dans mon cas, la feuille de calcul était publique.

Vous pouvez également accéder à la feuille de calcul via la liste des flux ou en fonction des cellules (remplacez list dans l'url par cell)

Vous pouvez essayer le lien dans un navigateur et voir le résultat json.

6
apadana

(août 2016)

Depuis mai dernier, vous avez maintenant une meilleure solution ...

Plus besoin de passer la balle:

  1. API GData (et donc Zend GData) sont la génération précédente d'API Google. Bien que toutes les API GData n'aient pas été dépréciées, toutes les plus récentes API Google faire pas utilisez le protocole Google Data .
  2. Il y a "nouvelle" API Google Sheets v4 (pas GData]). Pour utiliser la nouvelle Sheets API , vous devez obtenir la bibliothèque cliente des API Google pour PHP comme d'autres l'ont déjà dit. La dernière API est beaucoup plus puissante et flexible que n'importe quelle API précédente. En voici un exemple de code pour vous aider à démarrer. Si vous n'êtes pas "allergique" à Python, j'ai également fait ne vidéo avec un différent, un exemple un peu plus long présentant l'API et donnant une plongée plus profonde dans its code via n blog dont vous pouvez apprendre.

Notez que l'API Sheets vous permet de créer des feuilles de calcul et des feuilles, de télécharger et de télécharger des données, ainsi que, dans le sens général, d'accéder par programmation à une feuille comme si vous utilisiez l'interface utilisateur (créer des lignes figées, effectuer le formatage des cellules, redimensionner les lignes/colonnes, ajout de tableaux croisés dynamiques, création de graphiques, etc.), mais pour effectuer un accès au niveau du fichier, comme les chargements et les téléchargements, les importations et les exportations (comme les chargements et les téléchargements mais la conversion vers/depuis les formats Google Apps), vous utiliseriez le - API Google Drive à la place.

2
wescpy