Lorsqu'un utilisateur clique sur le bouton "Nouveau" de l'interface utilisateur de Drive, bouton et sélectionne une application dans le Interface utilisateur de Drive, Drive redirige l'utilisateur vers la nouvelle URL de cette application défini dans la section Configurer une interface utilisateur Drive intégration.
Votre application reçoit ensuite un ensemble de variables de modèle par défaut dans un
Paramètre state
. state
par défaut
concernant 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 estcreate
lorsqu'un utilisateur clique sur Drive UI's "New" (Nouveau) bouton.- 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 le utilisateur.
Votre application doit répondre à cette demande en procédant comme suit:
- Vérifiez que le champ
action
possède la valeurcreate
. - Utilisez la valeur
userId
afin de créer une session pour l'utilisateur. Pour plus informations sur les utilisateurs connectés, consultez la section 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éfinissezparents
sur la valeurfolderId
. - Si
folderResourceKey
a été défini sur la requête, définissez En-tête de requêteX-Goog-Drive-Resource-Keys
. Pour en savoir plus sur clés de ressource, consultez la page Accéder aux fichiers partagés par lien à l'aide de la ressource clés.
Le paramètre state
est encodé au format URL. Votre application doit donc gérer cet échappement.
et l'analyse au format JSON.
Utilisateurs et nouveaux événements
Les applications Drive doivent traiter toutes les requêtes des événements comme potentiels
connexions. Certains utilisateurs peuvent avoir plusieurs comptes. Par conséquent, l'ID utilisateur dans state
peut ne pas correspondre à la session en cours. Si l'ID utilisateur dans state
ne correspond pas à la session en cours, mettez fin à la session en cours pour votre
l'application et connectez-vous en tant qu'utilisateur demandé.