Resumo da IA
Você gostaria de restringir quais usuários podem visualizar a lista de planilhas do Google Sheets conectadas ao configurar uma conexão com o Google Sheets no WPForms? Por padrão, qualquer usuário com acesso ao criador de formulários pode ver todas as planilhas associadas à conta do Google conectada, o que pode representar um risco à privacidade em sites com vários usuários no backend.
Este tutorial mostrará como restringir o acesso ao seletor do Google Sheets usando um trecho de código personalizado.
Criação do trecho
Antes de começarmos, não deixe de conferir nosso tutorial sobre como adicionar trechos de código personalizados ao seu site.
O seletor do Google Sheets carrega seus dados por meio de um endpoint AJAX quando um usuário abre o provedor do Google Sheets no criador de formulários. Ao conectar-se ao wpforms_providers_settings_builder_ajax_access_token_data_get_google-sheets filtro, você pode adicionar uma verificação de permissão antes que a lista da planilha seja retornada.
Abordaremos dois cenários comuns a seguir.
Restringir o acesso apenas aos administradores
O trecho abaixo limita o acesso ao seletor do Google Sheets aos usuários com o manage_options função. Por padrão, isso é restrito aos 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 );
}
}
Depois que esse trecho de código for adicionado ao seu site, qualquer usuário que não seja administrador e tente abrir o seletor do Google Sheets receberá um erro 403, em vez de ver a lista de planilhas conectadas. Os administradores continuarão vendo o seletor exatamente como antes.
Restringir o acesso a um usuário específico
Se preferir restringir o acesso a um único usuário, você pode verificar com base em um ID de usuário específico. Isso é útil quando apenas uma pessoa da sua equipe deve ter permissão para gerenciar conexões do 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 );
}
}
Certifique-se de substituir 1 com o ID do usuário que você deseja autorizar. Você pode encontrar o ID de um usuário acessando Usuários no painel de administração do WordPress e passando o mouse sobre o nome do usuário. O ID aparece na URL do link de edição.
É isso! Você conseguiu restringir o acesso ao seletor do Google Sheets no WPForms. Gostaria de personalizar outras partes da integração com o Google Sheets? Dê uma olhada no nosso tutorial sobre como configurar o complemento do Google Sheets com o WPForms.