Restringir el acceso al selector de Hojas de Cálculo de Google en WPForms

¿Le gustaría limitar qué usuarios pueden ver la lista de Hojas de cálculo de Google conectadas al configurar una conexión de Hojas de cálculo de Google en WPForms? Por defecto, cualquier usuario con acceso al creador de formularios puede ver cada hoja de cálculo asociada a la cuenta de Google conectada, lo que puede ser una preocupación de privacidad en sitios con varios usuarios backend.

Este tutorial le mostrará cómo restringir el acceso al selector de Hojas de cálculo de Google utilizando un fragmento de código personalizado.


Creación del fragmento

Antes de empezar, asegúrese de consultar nuestro tutorial sobre cómo añadir fragmentos de código personalizados a su sitio.

El selector de Hojas de cálculo de Google carga sus datos a través de un punto final AJAX cuando un usuario abre el proveedor de Hojas de cálculo de Google en el creador de formularios. Al engancharse al filtro wpforms_providers_settings_builder_ajax_access_token_data_get_google-sheets, puede añadir una comprobación de permisos antes de que se devuelva la lista de hojas de cálculo.

A continuación, cubriremos dos escenarios comunes.

Restringir el acceso solo a administradores

El fragmento a continuación limita el acceso al selector de Hojas de cálculo de Google a los usuarios con la capacidad manage_options. Por defecto, esto está limitado 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 este fragmento se añada a su sitio, cualquier usuario no administrador que intente abrir el selector de Hojas de cálculo de Google recibirá un error 403 en lugar de ver la lista de hojas de cálculo conectadas. Los administradores seguirán viendo el selector exactamente como antes.

Restringir el acceso a un usuario específico

Si prefiere restringir el acceso a un solo usuario, puede comprobar en su lugar un ID de usuario específico. Esto es útil cuando solo una persona de su equipo debe poder gestionar las conexiones de Hojas de cálculo de Google.

/**
 * 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 reemplazar 1 con el ID del usuario al que desea permitir el acceso. Puede encontrar el ID de un usuario yendo a Usuarios en su administrador de WordPress y pasando el ratón por encima del nombre del usuario. El ID aparece en la URL del enlace de edición.

¡Eso es todo! Ha restringido con éxito el acceso al selector de Hojas de cálculo de Google en WPForms. ¿Le gustaría personalizar otras partes de la integración de Hojas de cálculo de Google? Eche un vistazo a nuestro tutorial sobre cómo configurar el complemento de Hojas de cálculo de Google con WPForms.