Resumo da IA
Gostaria de limitar quais os utilizadores que podem ver a lista de folhas de cálculo do Google ligadas ao configurar uma ligação ao Google Sheets no WPForms? Por predefinição, qualquer utilizador com acesso ao criador de formulários pode ver todas as folhas de cálculo associadas à conta do Google ligada, o que pode constituir um problema de privacidade em sites com vários utilizadores no backend.
Este tutorial irá mostrar-lhe como restringir o acesso ao seletor do Google Sheets utilizando um trecho de código personalizado.
Criar o snippet
Antes de começarmos, não se esqueça de consultar o nosso tutorial sobre como adicionar trechos de código personalizados ao seu site.
O seletor do Google Sheets carrega os seus dados através de um ponto de extremidade AJAX quando um utilizador abre o fornecedor do Google Sheets no criador de formulários. Ao ligar-se ao wpforms_providers_settings_builder_ajax_access_token_data_get_google-sheets filtro, pode adicionar uma verificação de permissões antes de a lista da folha de cálculo ser apresentada.
Abordaremos dois cenários comuns a seguir.
Restringir o acesso apenas aos administradores
O trecho de código abaixo limita o acesso ao seletor do Google Sheets aos utilizadores com o manage_options funcionalidade. Por predefinição, esta está limitada 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 );
}
}
Assim que este trecho de código for adicionado ao seu site, qualquer utilizador que não seja administrador e tente abrir o seletor do Google Sheets receberá um erro 403, em vez de ver a lista de folhas de cálculo associadas. Os administradores continuarão a ver o seletor exatamente como antes.
Restringir o acesso a um utilizador específico
Se preferir restringir o acesso a um único utilizador, pode verificar com base num ID de utilizador específico. Isto é útil quando apenas uma pessoa da sua equipa deve ter permissão para gerir as ligaçõ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 );
}
}
Não se esqueça de substituir 1 com o ID do utilizador que pretende autorizar. Pode encontrar o ID de um utilizador acedendo a Utilizadores no painel de administração do WordPress e passando o cursor sobre o nome do utilizador. O ID aparece no URL do link de edição.
E pronto! Conseguiu restringir o acesso ao seletor do Google Sheets no WPForms. Gostaria de personalizar outras partes da integração com o Google Sheets? Consulte o nosso tutorial sobre como configurar o complemento do Google Sheets com o WPForms.