When a user clicks Drive UI's "New" button and selects an app in the Drive UI, Drive redirects the user to that app's New URL defined in Configure a Drive UI integration.
Your app then receives a default set of template variables within a
state
parameter. The default state
information for a New URL is:
{
"action":"create",
"folderId":"FOLDER_ID",
"folderResourceKey":"FOLDER_RESOURCE_KEY",
"userId":"USER_ID"
}
This output includes the following values:
create
: The action being performed. The value iscreate
when a user clicks Drive UI's "New" button.- FOLDER_ID: The ID of the parent folder.
- FOLDER_RESOURCE_KEY: The resource key of the parent folder.
- USER_ID: The profile ID that uniquely identifies the user.
Your app must act on this request by following these steps:
- Verify that the
action
field has a value ofcreate
. - Use the
userId
value to create a new session for the user. For more information on signed-in users, see Users & new events. - Use the
files.create
method to create a file resource. IffolderId
was set on the request, set theparents
field to thefolderId
value. - If
folderResourceKey
was set on the request, set theX-Goog-Drive-Resource-Keys
request header. For more information on resource keys, see Access link-shared files using resource keys.
The state
parameter is URL-encoded, so your app must handle the escape
characters and parse it as JSON.
Users & new events
Drive apps should treat all "create" events as potential
sign-ins. Some users might have multiple accounts, so the user ID in the state
parameter might not match the current session. If the user ID in the state
parameter doesn't match the current session, end the current session for your
app and sign in as the requested user.