Bouton d'intégration avec l'interface utilisateur de Drive
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Lorsqu'un utilisateur clique sur le bouton "Nouveau" de l'UI Drive et sélectionne une application dans l'UI Drive, Drive le redirige vers l'URL "Nouveau" de cette application, définie dans Configurer une intégration à 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 en cours. 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é 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
action
a la valeur create
.
- 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.
- 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
.
- Si
folderResourceKey
a été défini dans 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 Accéder aux fichiers partagés par lien à l'aide de clés de ressources.
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. Il est donc possible que l'ID utilisateur du paramètre state
ne corresponde pas à la session actuelle. Si l'ID utilisateur du paramètre state
ne correspond pas à la session actuelle, mettez fin à la session en cours pour votre application et connectez-vous en tant qu'utilisateur demandé.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/08/04 (UTC).
[null,null,["Dernière mise à jour le 2025/08/04 (UTC)."],[],[],null,["# Integrate with Drive UI's "New" button\n\nWhen a user clicks [Drive UI's \"New\"\nbutton](/workspace/drive/api/guides/about-apps#new) and selects an app in the\nDrive UI, Drive redirects the user to that app's New URL\ndefined in [Configure a Drive UI\nintegration](/workspace/drive/api/guides/enable-sdk).\n\nYour app then receives a default set of template variables within a\n[`state`](/workspace/drive/api/guides/enable-sdk#construct) parameter. The default `state`\ninformation for a New URL is: \n\n {\n \"action\":\"create\",\n \"folderId\":\"\u003cvar translate=\"no\"\u003eFOLDER_ID\u003c/var\u003e\",\n \"folderResourceKey\":\"\u003cvar translate=\"no\"\u003eFOLDER_RESOURCE_KEY\u003c/var\u003e\",\n \"userId\":\"\u003cvar translate=\"no\"\u003eUSER_ID\u003c/var\u003e\"\n }\n\nThis output includes the following values:\n\n- `create`: The action being performed. The value is `create` when a user clicks [Drive UI's \"New\"\n button](/workspace/drive/api/guides/about-apps#new).\n- \u003cvar translate=\"no\"\u003eFOLDER_ID\u003c/var\u003e: The ID of the parent folder.\n- \u003cvar translate=\"no\"\u003eFOLDER_RESOURCE_KEY\u003c/var\u003e: The resource key of the parent folder.\n- \u003cvar translate=\"no\"\u003eUSER_ID\u003c/var\u003e: The profile ID that uniquely identifies the user.\n\nYour app must act on this request by following these steps:\n\n1. Verify that the `action` field has a value of `create`.\n2. Use the `userId` value to create a new session for the user. For more information on signed-in users, see [Users \\& new events](#potential-logins).\n3. Use the [`files.create`](/workspace/drive/api/v3/reference/files/create) method to create a file resource. If `folderId` was set on the request, set the `parents` field to the `folderId` value.\n4. If `folderResourceKey` was set on the request, set the `X-Goog-Drive-Resource-Keys` request header. For more information on resource keys, see [Access link-shared files using resource\n keys](/workspace/drive/api/guides/resource-keys).\n\nThe `state` parameter is URL-encoded, so your app must handle the escape\ncharacters and parse it as JSON.\n\nUsers \\& new events\n-------------------\n\nDrive apps should treat all \"create\" events as potential\nsign-ins. Some users might have multiple accounts, so the user ID in the `state`\nparameter might not match the current session. If the user ID in the `state`\nparameter doesn't match the current session, end the current session for your\napp and sign in as the requested user."]]