Lorsqu'un utilisateur clique sur le bouton « Nouveau » de l'interface utilisateur Drive et sélectionne une application dans l' interface utilisateur Drive, Drive le redirige vers la nouvelle URL de cette application définie dans Configurer une intégration de l'interface utilisateur Drive.
Votre application reçoit ensuite un ensemble par défaut de variables de modèle dans un
state paramètre. 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 en cours d'exécution. La valeur estcreatelorsqu'un utilisateur clique sur le bouton "Nouveau" de l'interface utilisateur Drive.- FOLDER_ID : ID du dossier parent.
- FOLDER_RESOURCE_KEY : clé de 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
actiona la valeurcreate. - Utilisez la valeur
userIdpour créer une session pour l'utilisateur. Pour en savoir plus sur les utilisateurs connectés, consultez la section Utilisateurs et nouveaux événements. - Utilisez la méthode
files.createpour créer une ressource de fichier. SifolderIda été défini dans la requête, définissez le champparentssur la valeurfolderId. - Si
folderResourceKeya été défini dans 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 ressource, consultez la section Accéder aux fichiers partagés par lien à l'aide de 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 "create" comme des connexions potentielles. Certains utilisateurs peuvent avoir plusieurs comptes. L'ID utilisateur dans le paramètre state peut donc ne pas correspondre à la session actuelle. Si l'ID utilisateur dans le paramètre state ne correspond pas à la session actuelle, mettez fin à la session actuelle pour votre application et connectez-vous en tant qu'utilisateur demandé.