Les sessions sont au cœur de l'API Picker. Elles permettent aux utilisateurs de sélectionner des photos et des vidéos dans leur bibliothèque Google Photos de manière sécurisée et contrôlée. Ce guide explique comment créer et gérer des sessions d'interrogation efficaces pour permettre une sélection de photos fluide dans votre application.
Avant de commencer
- Configurez votre application : activez l'API et configurez l'authentification. Pour obtenir des instructions détaillées, consultez Configurer votre application.
- Comprendre le flux : consultez Premiers pas avec l'API Picker pour obtenir une vue d'ensemble de l'ensemble du processus de sélection de photos.
- Consultez les champs d'application d'autorisation requis : pour utiliser les sessions, vous devez disposer du champ d'application
photospicker.mediaitems.readonly
. Pour en savoir plus sur les niveaux d'accès, consultez Niveaux d'autorisation.
Cycle de vie des sessions
L'API Picker fournit des méthodes pour créer, récupérer des informations sur les sessions et les supprimer. Après avoir authentifié vos utilisateurs, vous pouvez utiliser des sessions pour gérer le cycle de vie de la sélection de photos.
- Créez une session pour permettre à un utilisateur de sélectionner des éléments multimédias.
- Interrogez la session pour vérifier quand l'utilisateur a fini de sélectionner des éléments multimédias.
- Lister et récupérer les éléments multimédias
- Nettoyez la session en la supprimant.
Créer des sessions
Créez une session pour que vos utilisateurs puissent sélectionner des photos de manière sécurisée directement depuis leur application Google Photos et les partager avec votre application.
sessions.create
génère une nouvelle session et renvoie un pickerUri
unique que vous pouvez présenter à vos utilisateurs. La session reste active jusqu'à ce que l'utilisateur ait sélectionné des éléments multimédias ou jusqu'à ce qu'elle expire. Pour les applications Web, vous pouvez ajouter /autoclose
à pickerUri
pour fermer automatiquement la fenêtre ou l'onglet Google Photos une fois que l'utilisateur a terminé sa sélection. Pour en savoir plus, consultez Sélection de photos : ce que voient les utilisateurs.
Limite de sessions
Tenez compte des limites de session. L'API Picker impose des limites au nombre de sessions que vous pouvez créer pour garantir une utilisation responsable et éviter les abus. Dans des circonstances normales, il est peu probable que vous atteigniez ces limites. Toutefois, vous devez suivre et nettoyer les sessions de manière proactive pour éviter tout problème.
Interroger et surveiller les sessions
Une fois la session créée, interrogez régulièrement le point de terminaison sessions.get
pour obtenir son état. La propriété mediaItemsSet
de la réponse renvoie true
lorsque l'utilisateur a terminé sa sélection.
Veillez à utiliser une interrogation efficace. La réponse sessions.get
inclut l'objet pollingConfig
. Utilisez les champs suivants pour éviter les appels inutiles et offrir une expérience utilisateur fluide :
pollInterval
: intervalles d'interrogation optimauxtimeoutIn
: durée du délai d'inactivité
Pour en savoir plus, consultez l'exemple de flux d'interrogation.
Supprimer et nettoyer des sessions
sessions.delete
supprime une session, généralement utilisée pour le nettoyage une fois que l'utilisateur a fini de sélectionner des contenus multimédias ou si la session expire.
Il est recommandé de supprimer les sessions une fois que l'utilisateur a sélectionné des éléments multimédias et que votre application a récupéré les octets des éléments multimédias.
Exemple de flux d'interrogation
Voici un exemple de création et d'interrogation d'une session. Après avoir authentifié votre utilisateur pour la première fois, créez une session.
- Créer une session : appelez
sessions.create
pour lancer une nouvelle session et obtenir lepickerUri
. - Présentez le
pickerUri
à l'utilisateur : affichez l'URL ou générez un code QR que l'utilisateur pourra scanner. Découvrez l'expérience de sélection des utilisateurs. - Sonder la session :
- Utilisez l'intervalle d'interrogation recommandé de
pollingConfig
. - Vérifiez si
mediaItemsSet
est défini sur "true".- Si la valeur est
true
, passez à la liste des éléments multimédias sélectionnés. - Si la valeur est
false
, continuez à interroger jusqu'à ce quetimeoutIn
soit atteint.
- Si la valeur est
- Gérez les délais d'attente et les annulations de manière fluide.
- Utilisez l'intervalle d'interrogation recommandé de
GET https://photoslibrary.googleapis.com/v1/sessions/{sessionId}
Voici un exemple de réponse :
{
"id": string,
"pickerUri": string,
"pollingConfig": {
object (PollingConfig)
},
"mediaItemsSet": boolean
}
Présentez pickerUri
à l'utilisateur, puis commencez à interroger la session.
Vérifiez les points suivants dans la réponse :
mediaItemsSet
: "true" si l'utilisateur a terminé de sélectionner des éléments multimédiaspollingConfig.pollInterval
: délai recommandé avant le prochain sondagepollingConfig.timeoutIn
: délai d'attente total avant expiration du délai
Si mediaItemsSet
est défini sur "false" et que timeoutIn
n'a pas été atteint, attendez pollInterval
, puis interrogez à nouveau.
Si mediaItemsSet
est défini sur "true", passez à la liste des éléments multimédias sélectionnés.
Si timeoutIn
est atteint, gérez le délai d'expiration de manière appropriée.