Cuando un usuario hace clic en el botón "Nuevo" de la IU de Drive y selecciona una app en la IU de Drive, Drive lo redirecciona a la URL nueva de esa app definida en Configura una integración de la IU de Drive.
Luego, tu app recibe un conjunto predeterminado de variables de plantilla dentro de un
state parámetro. La información state predeterminada para una URL nueva es la siguiente:
{
"action":"create",
"folderId":"FOLDER_ID",
"folderResourceKey":"FOLDER_RESOURCE_KEY",
"userId":"USER_ID"
}
En esta salida, se incluyen los siguientes valores:
create: Es la acción que se realiza. El valor escreatecuando un usuario hace clic en el botón "Nuevo" de la IU de Drive.- FOLDER_ID: Es el ID de la carpeta superior.
- FOLDER_RESOURCE_KEY: Es la clave de recurso de la carpeta superior.
- USER_ID: Es el ID de perfil que identifica de forma única al usuario.
Para que tu app actúe en función de esta solicitud, sigue estos pasos:
- Verifica que el campo
actiontenga un valor decreate. - Usa el valor
userIdpara crear una sesión nueva para el usuario. Para obtener más información sobre los usuarios que accedieron, consulta Usuarios y eventos nuevos. - Usa el
files.createmétodo para crear un recurso de archivo. Si se configurófolderIden la solicitud, establece el campoparentsen el valorfolderId. - Si se configuró
folderResourceKeyen la solicitud, establece el encabezado de la solicitudX-Goog-Drive-Resource-Keys. Para obtener más información sobre las claves de recursos, consulta Cómo acceder a archivos compartidos a través de vínculos con claves de recursos.
El parámetro state está codificado como URL, por lo que tu app debe controlar los caracteres de escape y analizarlo como JSON.
Usuarios y eventos nuevos
Las apps de Drive deben tratar todos los eventos "create" como posibles accesos. Es posible que algunos usuarios tengan varias cuentas, por lo que el ID de usuario en el parámetro state podría no coincidir con la sesión actual. Si el ID de usuario en el parámetro state no coincide con la sesión actual, finaliza la sesión actual de tu app y accede como el usuario solicitado.