Synchroniser les clients avec Gmail

Il est important pour la plupart des applications de synchroniser votre client avec Gmail. différents scénarios. Il existe deux scénarios de synchronisation: une synchronisation complète et une synchronisation partielle. La synchronisation complète est requise la première fois lorsque votre client se connecte à Gmail et dans d'autres scénarios rares. Si votre client a récemment été synchronisée, mais la synchronisation partielle est un modèle plus léger comme alternative à une synchronisation complète. Vous pouvez également utiliser les notifications push. pour déclencher une synchronisation partielle en temps réel et seulement en cas de nécessité. en évitant les sondages inutiles.

Sommaire

Synchronisation complète

La première fois que votre application se connecte à Gmail, ou en cas de synchronisation partielle n'est pas disponible, vous devez effectuer une synchronisation complète. Lors d'une opération de synchronisation complète, l'application doit récupérer et stocker un maximum des messages les plus récents les fils de discussion autant que nécessaire pour votre usage. Par exemple, si votre application affiche la liste des messages récents. Nous vous conseillons de récupérer et de mettre en cache suffisamment des messages pour permettre une interface réactive si l'utilisateur fait défiler la page au-delà de les premiers messages affichés. La procédure générale pour réaliser l'opération de synchronisation est la suivante:

  1. Appelez messages.list pour récupérer la première page d'ID de message.
  2. Créez une requête par lot de messages.get requêtes pour chaque des messages renvoyés par la requête list. Si votre application affiche contenu du message, vous devez utiliser format=FULL ou format=RAW la première fois votre application récupère un message et met les résultats en cache pour éviter et de récupération. Si vous récupérez un message précédemment mis en cache, vous doit utiliser format=MINIMAL pour réduire la taille de la réponse, car labelIds est susceptible de changer.
  3. Fusionnez les mises à jour dans vos résultats mis en cache. Votre application doit stocker L'élément historyId du message le plus récent (le premier message du champ list) ) pour une synchronisation partielle ultérieure.

Synchronisation partielle

Si votre application s'est récemment synchronisée, vous pouvez effectuer une opération partielle synchroniser à l'aide du history.list pour renvoyer tous les enregistrements d'historique plus récents que le startHistoryId spécifié dans votre demande. Les enregistrements d'historique fournissent les identifiants des messages et le type de modification pour chaque message, tel que l'ajout, la suppression ou les libellés modifiés depuis le de startHistoryId. Vous pouvez obtenir et stocker les historyId des message récent d'une synchronisation complète ou partielle à fournir en tant que startHistoryId pour les opérations de synchronisation partielle futures.

Limites

Les enregistrements d'historique sont généralement disponibles pendant au moins une semaine et souvent plus longtemps. Toutefois, la période pour laquelle les enregistrements sont disponibles peut être beaucoup moins, et les enregistrements peuvent parfois être indisponibles dans de rares cas. Si la valeur startHistoryId fournie par votre client n'est pas comprise dans la plage disponible de l'historique, l'API renvoie une réponse d'erreur HTTP 404. Dans ce cas, votre client doit effectuer une synchronisation complète comme décrit dans la section précédente.