Les sessions sont au cœur de l'API Picker. Elles permettent aux utilisateurs de sélectionner des photos et des vidéos de leur bibliothèque Google Photos de manière sécurisée et contrôlée. Ce guide explique comment créer, gérer et interroger efficacement des sessions 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 en savoir plus, consultez la section Configurer votre application.
- Comprendre le flux:consultez Premiers pas avec l'API Picker pour obtenir une présentation de l'ensemble du processus de sélection des photos.
- Consulter les champs d'application d'autorisation requis: l'utilisation des sessions nécessite le champ d'application
photospicker.mediaitems.readonly
. Pour en savoir plus sur les champs d'application, consultez la section Champs d'application d'autorisation.
Cycle de vie des sessions
L'API Picker fournit des méthodes permettant de créer, de récupérer des informations et de supprimer des sessions. Après avoir authentifié vos utilisateurs, vous pouvez utiliser des sessions pour gérer le cycle de vie du sélecteur 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 terminé de sélectionner des éléments multimédias.
- Listez et récupérez 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 à nouveau dans votre application.
sessions.create
génère une nouvelle session, renvoyant 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 que la session expire.
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 toute utilisation abusive. En temps normal, vous ne devriez pas atteindre 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 une 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 méthode d'interrogation efficace. La réponse sessions.get
inclut l'objet pollingConfig
. Utilisez les champs suivants pour éviter les appels inutiles et créer une expérience utilisateur fluide:
pollInterval
: intervalles de sondage optimauxtimeoutIn
: durée du délai avant expiration
Pour en savoir plus, consultez l'exemple de flux d'interrogation.
Supprimer et nettoyer les sessions
sessions.delete
supprime une session, généralement utilisée pour le nettoyage une fois que l'utilisateur a terminé 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 de l'élément multimédia.
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 démarrer une session et obtenirpickerUri
. - Présentez le
pickerUri
à l'utilisateur:affichez l'URL ou générez un code QR que l'utilisateur peut scanner. Consultez une présentation de l'expérience de sélection de l'utilisateur. - Interroger la session:
- Utilisez le pollInterval recommandé de
pollingConfig
. - Vérifiez si
mediaItemsSet
est "true".- Si la valeur est
true
, procédez à la liste des éléments multimédias sélectionnés. - Si la valeur est
false
, continuez l'interrogation jusqu'à ce quetimeoutIn
soit atteint.
- Si la valeur est
- Gérez correctement les délais avant expiration et les annulations.
- Utilisez le pollInterval 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 l'pickerUri
à l'utilisateur, puis commencez à interroger la session.
Vérifiez les éléments suivants dans la réponse:
mediaItemsSet
: "true" si l'utilisateur a terminé de sélectionner des éléments multimédiaspollingConfig.pollInterval
: temps recommandé à attendre avant le prochain sondagepollingConfig.timeoutIn
: durée totale d'attente avant l'expiration
Si mediaItemsSet
est faux et que timeoutIn
n'a pas été atteint, attendez pollInterval
, puis relancez l'interrogation.
Si mediaItemsSet
est défini sur "true", procédez à la liste des éléments multimédias sélectionnés.
Si timeoutIn
est atteint, gérez le délai avant expiration de manière appropriée.