PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Google Agenda et Rate limit exceeded
Google Agenda et Rate limit exceeded
Débuté par David Cao, 27 sep. 2016 10:23 - 5 réponses
Membre enregistré
19 messages
Posté le 27 septembre 2016 - 10:23
Bonjour,

Depuis notre logiciel, il est possible de synchroniser son agenda avec Google Agenda.
Hors chez 2 de mes clients (sur une centaine), ils obtiennent régulièrement l'erreur suivante de la part de Google :

Echec de la requête HTTP.
Code de retour HTTP : <HTTPForbidden>
Message du serveur : <{
"errors": [
{
"domain": "usageLimits",
"reason": "rateLimitExceeded",
"message": "Rate Limit Exceeded"
}
],
"code": 403,
"message": "Rate Limit Exceeded"
}

Ces clients ont un secrétariat externe qui synchronise également leur calendrier avec le Google Agenda de mes clients.
Par contre, ce secrétariat externe ne rencontre pas ce souci de "Rate Limit Exceeded".

Avez-vous une explication ou une solution à me proposer ?
Posté le 27 septembre 2016 - 15:00
Bonjour David,

le message semble indiquer que ton soft fait TROP de requêtes ou des
requêtes trop rapide, pas assez espacées à google agenda.

Il faut commencer par regarder les conditions d'utilisation de l'api
google agenda, chez google, pour voir quelles sont les limites et
comment les dépasser

Cordialement


--
Fabrice Harari
Consultant WinDev, WebDev et WinDev Mobile International

A votre disposition : WXShowroom.com, WXReplication (open source) et
maintenant WXEDM (open source)

Plus d'information sur http://fabriceharari.com


Le 9/27/2016 à 2:23 AM, David Cao a écrit :
Bonjour,

Depuis notre logiciel, il est possible de synchroniser son agenda avec
Google Agenda.
Hors chez 2 de mes clients (sur une centaine), ils obtiennent
régulièrement l'erreur suivante de la part de Google :

Echec de la requête HTTP.
Code de retour HTTP : <HTTPForbidden>
Message du serveur : <{
"errors": [
{
"domain": "usageLimits",
"reason": "rateLimitExceeded",
"message": "Rate Limit Exceeded"
}
],
"code": 403,
"message": "Rate Limit Exceeded"
}

Ces clients ont un secrétariat externe qui synchronise également leur
calendrier avec le Google Agenda de mes clients.
Par contre, ce secrétariat externe ne rencontre pas ce souci de "Rate
Limit Exceeded".

Avez-vous une explication ou une solution à me proposer ?
Membre enregistré
2 566 messages
Popularité : +222 (260 votes)
Posté le 27 septembre 2016 - 15:44
Bonjour,

Si c'est une requête pour rafraichir le token , il faut faire super attention car tu es limité dans le nombre de requêtes. Je suis en train de travailler sur une classe pour manipuler les agendas depuis une appli car il y a un bug dans les fonctions windev et comme l'assistance n'a pas l'air de considérer ma demande comme importante, je suis obligé de tout refaire à la main.

Voici ce que dit Google sur les connexions et tokens:
4. Refresh the access token, if necessary.
Access tokens have limited lifetimes. If your application needs access to a Google API beyond the lifetime of a single access token, it can obtain a refresh token. A refresh token allows your application to obtain new access tokens.
Note: Save refresh tokens in secure long-term storage and continue to use them as long as they remain valid. Limits apply to the number of refresh tokens that are issued per client-user combination, and per user across all clients, and these limits are different. If your application requests enough refresh tokens to go over one of the limits, older refresh tokens stop working.

Token expiration
You should write your code to anticipate the possibility that a granted token might no longer work. A token might stop working for one of these reasons:
The user has revoked access.
The token has not been used for six months.
The user changed passwords and the token contains Gmail, Calendar, Contacts, or Hangouts scopes.
The user account has exceeded a certain number of token requests.
There is currently a limit of 25 refresh tokens per user account per client. If the limit is reached, creating a new token automatically invalidates the oldest token without warning. This limit does not apply to service accounts.
There is also a larger limit on the total number of tokens a user account or service account can have across all clients. Most normal users won't exceed this limit but a developer's test account might.
If you need to authorize multiple programs, machines, or devices, one workaround is to limit the number of clients that you authorize per user account to 15 or 20. If you are a Google Apps admin, you can create additional admin users and use them to authorize some of the clients.

Un lien pour aller consulter leur doc directement:
https://developers.google.com/identity/protocols/OAuth2InstalledApp…

--
Cordialement,

Philippe SAINT-BERTIN
Géode Informatique
Membre enregistré
2 566 messages
Popularité : +222 (260 votes)
Posté le 27 septembre 2016 - 16:48
voilà la page exacte à aller voir: https://developers.google.com/google-apps/calendar/v3/errors…

--
Cordialement,

Philippe SAINT-BERTIN
Géode Informatique
Posté le 27 septembre 2016 - 17:21
Nous avons eu le meme soucis.

Pour le solutionner, plutôt que de prendre en compte une large plage
(dans notre cas, tous les rdvs à partir de 15 jours dans le passé),
on a découpé en petites plages.

Avec en plus une validation qu'il est bien nécessaire d'écrire chaque
plage (seulement s'il y a des modifs).

Et là ça fonctionne bien.

Les fonctions de windev génèrent certainement un grand nombre de
requêtes vers google d'ou le message d'erreur.

eric l.

Le 27/09/2016 à 08:23, David Cao a écrit :
Bonjour,

Depuis notre logiciel, il est possible de synchroniser son agenda avec
Google Agenda.
Hors chez 2 de mes clients (sur une centaine), ils obtiennent
régulièrement l'erreur suivante de la part de Google :

Echec de la requête HTTP.
Code de retour HTTP : <HTTPForbidden>
Message du serveur : <{
"errors": [
{
"domain": "usageLimits",
"reason": "rateLimitExceeded",
"message": "Rate Limit Exceeded"
}
],
"code": 403,
"message": "Rate Limit Exceeded"
}

Ces clients ont un secrétariat externe qui synchronise également leur
calendrier avec le Google Agenda de mes clients.
Par contre, ce secrétariat externe ne rencontre pas ce souci de "Rate
Limit Exceeded".

Avez-vous une explication ou une solution à me proposer ?
Membre enregistré
19 messages
Posté le 27 septembre 2016 - 19:11
Merci pour toutes ces réponses !
Je vais travailler sur le découpage en plages plus courtes.