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 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 est create 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:

  1. Vérifiez que le champ action présente la valeur create.
  2. 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.
  3. Utilisez la méthode files.create pour créer une ressource de fichier. Si folderId a été défini sur 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 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é.