Bouton d'intégration avec l'interface utilisateur de Drive

Lorsqu'un utilisateur clique sur le bouton "Nouveau" de l'UI Drive et sélectionne une application dans celle-ci, Drive le redirige vers la nouvelle URL de cette application, définie dans Configurer une intégration dans l'UI Drive.

Votre application reçoit ensuite un ensemble de variables de modèle par défaut dans un paramètre state. Les informations state par défaut d'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 est create lorsqu'un utilisateur clique sur le bouton "Nouveau" de l'UI Drive.
  • FOLDER_ID: ID du dossier parent.
  • FOLDER_RESOURCE_KEY: clé de ressource du dossier parent.
  • USER_ID: ID de profil permettant d'identifier l'utilisateur de manière unique.

Votre application doit répondre à cette demande en procédant comme suit:

  1. Vérifiez que la valeur du champ action est create.
  2. Utilisez la valeur userId afin de créer une session pour l'utilisateur. Pour en savoir plus sur les utilisateurs connectés, consultez Utilisateurs et nouveaux événements.
  3. Utilisez la méthode files.create pour créer une ressource de fichier. Si folderId a été défini dans la requête, définissez le champ parents sur la valeur folderId.
  4. Si folderResourceKey a été défini sur la requête, définissez l'en-tête de requête X-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é en 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 posséder 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é.