Lorsqu'un utilisateur clique sur le bouton "Nouveau" de l'UI Drive et sélectionne une application dans l'UI Drive, Drive redirige l'utilisateur vers la nouvelle URL de cette application définie dans Configurer une intégration de l'UI Drive.
Votre application reçoit ensuite un ensemble par défaut de variables de modèle dans un paramètre state
. Les informations state
par défaut pour une nouvelle URL sont les suivantes:
{
"action":"create",
"folderId":"FOLDER_ID",
"folderResourceKey":"FOLDER_RESOURCE_KEY",
"userId":"USER_ID"
}
Ce résultat inclut les valeurs suivantes :
create
: action effectuée. La valeur estcreate
lorsqu'un utilisateur clique sur le bouton Nouveau de l'interface utilisateur de Drive.- FOLDER_ID: ID du dossier parent.
- FOLDER_RESOURCE_KEY: clé d'accès à la ressource du dossier parent.
- USER_ID: ID de profil qui identifie de manière unique l'utilisateur.
Votre application doit répondre à cette requête en procédant comme suit:
- Vérifiez que le champ
action
présente la valeurcreate
. - Utilisez la valeur
userId
pour créer une session pour l'utilisateur. Pour en savoir plus sur les utilisateurs connectés, consultez Utilisateurs et nouveaux événements. - Utilisez la méthode
files.create
pour créer une ressource de fichier. SifolderId
a été défini sur la requête, définissez le champparents
sur la valeurfolderId
. - Si
folderResourceKey
a été défini sur la requête, définissez l'en-tête de requêteX-Goog-Drive-Resource-Keys
. Pour en savoir plus sur les clés de ressources, consultez la page Accéder aux fichiers partagés par lien à l'aide des clés de ressource.
Le paramètre state
est encodé au format URL. Votre application doit donc gérer les caractères d'échappement et l'analyser au format JSON.
Utilisateurs et nouveaux événements
Les applications Drive doivent traiter tous les événements de création comme des connexions potentielles. Certains utilisateurs peuvent avoir plusieurs comptes. Par conséquent, l'ID utilisateur dans le paramètre state
peut ne pas correspondre à la session en cours. Si l'ID utilisateur dans le paramètre state
ne correspond pas à la session en cours, mettez fin à la session en cours pour votre application et connectez-vous en tant qu'utilisateur demandé.