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

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

  1. Vérifiez que le champ action possède la valeur create.
  2. 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.
  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 parents sur la valeur folderId.
  4. Si folderResourceKey a été défini sur la requête, définissez En-tête de requête X-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é.