Resumen de la IA
¿Te gustaría limitar qué usuarios pueden ver la lista de hojas de cálculo de Google conectadas al configurar una conexión con Google Sheets en WPForms? De forma predeterminada, cualquier usuario con acceso al generador de formularios puede ver todas las hojas de cálculo asociadas a la cuenta de Google conectada, lo que puede suponer un problema de privacidad en sitios web con varios usuarios de backend.
En este tutorial te enseñaremos cómo restringir el acceso al selector de Google Sheets mediante un fragmento de código personalizado.
Creación del fragmento
Antes de empezar, no te olvides de echar un vistazo a nuestro tutorial sobre cómo añadir fragmentos de código personalizados a tu sitio web.
El selector de Google Sheets carga sus datos a través de un punto final AJAX cuando un usuario abre el proveedor de Google Sheets en el generador de formularios. Al conectarse al wpforms_providers_settings_builder_ajax_access_token_data_get_google-sheets filtro, puedes añadir una comprobación de permisos antes de que se muestre la lista de hojas de cálculo.
A continuación, analizaremos dos situaciones habituales.
Restringir el acceso exclusivamente a los administradores
El fragmento de código siguiente limita el acceso al selector de Google Sheets a los usuarios con el manage_options función. De forma predeterminada, esta función está restringida a los administradores.
/**
* Restrict the Google Sheets picker to administrators only.
*
* @link https://wpforms.com/developers/
*/
add_filter( 'wpforms_providers_settings_builder_ajax_access_token_data_get_google-sheets', 'wpf_restrict_picker_access_admins_only', 9 );
function wpf_restrict_picker_access_admins_only(): void {
// Restrict access to users with manage_options capability (administrators by default).
if ( ! current_user_can( 'manage_options' ) ) {
wp_send_json_error( 403 );
}
}
Una vez que hayas añadido este fragmento de código a tu sitio web, cualquier usuario que no sea administrador y que intente abrir el selector de Google Sheets recibirá un error 403 en lugar de ver la lista de hojas de cálculo conectadas. Los administradores seguirán viendo el selector exactamente igual que antes.
Restringir el acceso a un usuario concreto
Si prefieres restringir el acceso a un solo usuario, puedes verificar el ID de usuario específico. Esto resulta útil cuando solo una persona de tu equipo debe tener permiso para gestionar las conexiones de Google Sheets.
/**
* Restrict the Google Sheets picker to a specific user.
*
* @link https://wpforms.com/developers/
*/
add_filter( 'wpforms_providers_settings_builder_ajax_access_token_data_get_google-sheets', 'wpf_restrict_picker_access_single_user', 9 );
function wpf_restrict_picker_access_single_user(): void {
// Restrict access to a specific user ID. Replace 1 with the desired user ID.
if ( get_current_user_id() !== 1 ) {
wp_send_json_error( 403 );
}
}
Asegúrese de sustituir 1 con el ID del usuario al que quieras dar permiso. Puedes encontrar el ID de un usuario yendo a Usuarios en el panel de administración de WordPress y pasando el cursor por encima del nombre del usuario. El ID aparece en la URL del enlace de edición.
¡Ya está! Has restringido correctamente el acceso al selector de Google Sheets en WPForms. ¿Te gustaría personalizar otras partes de la integración con Google Sheets? Echa un vistazo a nuestro tutorial sobre cómo configurar el complemento de Google Sheets con WPForms.