La nouvelle API Google Sheets v4 dispose actuellement d'un quota de lecture/écriture illimité par jour (ce qui est fantastique), mais limité à 500 lectures/écritures par compte par 100 secondes, et 100 lectures/écritures par clé par 100 secondes (ou, j'ai trouvé, plusieurs clés provenant de la même IP). C'est probablement suffisant pour la plupart des cas d'utilisation, mais j'ai un cas Edge qui nécessite d'apporter une feuille Google fréquemment mise à jour avec 70 onglets vers le bas à un serveur node.js qui les distribue aux clients des utilisateurs toutes les ~ 30-60 secondes environ (utilisateurs sont des annotateurs de données qui sont des étudiants assistants de recherche). Ce n'était pas si mal au début du projet quand il n'y avait que 20 à 30 onglets, mais maintenant que les données sont volumineuses, le serveur souffle sur le quota de 100 et renvoie des erreurs toutes les 10 à 15 minutes.
Le problème est tel que:
Y a-t-il des paramètres/méthodes suggérés pour atteindre les 500 appels/100 secondes pour un serveur?
Vous pouvez utiliser spreadsheets.get pour lire la feuille de calcul entière en un seul appel, plutôt que 1 appel par demande. Alternativement, vous pouvez utiliser spreadsheets.values.batchGet pour lire plusieurs plages différentes en un seul appel, si tout ce dont vous avez besoin sont les valeurs.
L'API Drive propose " notifications push ", vous pouvez donc être averti lorsque des modifications se produisent et réagir à celles-ci, au lieu de les interroger. La latence des notifications est un peu lente, mais elle fait le travail.