Les sessions sont au cœur de l'API Picker. Elles offrent aux utilisateurs un moyen sécurisé et contrôlé de sélectionner des photos et des vidéos dans leur bibliothèque Google Photos. 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 la procédure:consultez Premiers pas avec l'API Picker pour obtenir un aperçu 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 d'une session
L'API Picker fournit des méthodes pour créer, récupérer et supprimer des sessions. 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 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 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'à expiration de la session.
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.
Assurez-vous d'utiliser une 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
: délai avant expiration
Pour en savoir plus, consultez 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é l'utilisateur, créez une session.
- Créer une session:appelez
sessions.create
pour lancer une nouvelle session et obtenir l'pickerUri
. - 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.