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:
- Appelez
messages.list
pour récupérer la première page d'ID de message. - 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 utiliserformat=FULL
ouformat=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 utiliserformat=MINIMAL
pour réduire la taille de la réponse, carlabelIds
est susceptible de changer. - 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 champlist
) ) 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.