Guia para o time de TI: registre um aplicativo no Microsoft Entra ID e libere o acesso somente leitura do Datasync às planilhas de uma biblioteca do SharePoint — sem ninguém precisar exportar arquivo à mão.
O Datasync autentica com uma identidade de aplicação (App Registration) criada por você, no seu tenant — e lê os arquivos pela API oficial do Microsoft Graph.
Solicita token e lê os arquivos da biblioteca
Valida o aplicativo e emite o token de acesso
Sites / Drive — leitura dos arquivos
Biblioteca de documentos com as planilhas (Excel)
Conta com permissão para criar um Registro de Aplicativo (App Registration) e gerar um segredo no Azure.
Um Administrador Global / de Aplicativo para conceder o consentimento das permissões do Microsoft Graph (passo 2).
Um site dedicado à integração, com a biblioteca de documentos onde ficam as planilhas (.xlsx) a serem lidas.
Siga na ordem. Os passos 1 a 3 são no Azure; os passos 4 a 6, dentro do GoPanel.
GoPanel-Datasync (sugestão).GoPanel-Datasync, abra Permissões de API → + Adicionar uma permissão → Microsoft Graph → Permissões de aplicativo.Sites.Selected.Sites.Selected · AplicativoAgora libere leitura apenas no site dedicado. Isso é feito por API ou linha de comando — não há tela no admin center para esse grant. Use uma das opções:
api Opção A — Microsoft Graph RECOMENDADA · NÃO INSTALA NADA
id da resposta.
GET https://graph.microsoft.com/v1.0/sites/SUAEMPRESA.sharepoint.com:/sites/NOME-DO-SITESUAEMPRESA.sharepoint.com e NOME-DO-SITE pelos reais (o que aparece na URL do seu site). O id da resposta é composto, ex.: empresa.sharepoint.com,<guid>,<guid> — é ele inteiro que vai no próximo passo.
Sites.FullControl.All e clique em Consent (uma vez, como admin) — é o que autoriza o Graph Explorer a fazer o grant. Depois troque o método para POST, use a URL e o corpo (aba Request body) abaixo e clique em Run query.
POST https://graph.microsoft.com/v1.0/sites/{ID-DO-SITE}/permissions
{
"roles": ["read"],
"grantedToIdentities": [
{ "application": { "id": "<CLIENT_ID>", "displayName": "GoPanel-Datasync" } }
]
}403 · accessDenied ("you need to consent…") = falta o Consent de Sites.FullControl.All na aba Modify permissions, ou a conta não é admin do SharePoint.
201 Created = pronto. O app passa a ler somente esse site.Sites.FullControl.All é delegado ao Graph Explorer (app oficial da Microsoft) agindo como você — limitado ao que um admin já pode fazer e só durante a sessão; não dá acesso autônomo. É a permissão da ferramenta para executar o grant, não do GoPanel — o app fica com o mínimo (Sites.Selected + read em um site). Para o mínimo permanente, após o 201 você pode revogar o consent em Entra ID → Aplicativos empresariais → Graph Explorer → Permissões.terminal Opção B — PnP PowerShell EXIGE INSTALAR O MÓDULO
Grant-PnPAzureADAppSitePermission `
-AppId <CLIENT_ID> -DisplayName "GoPanel-Datasync" `
-Site https://contoso.sharepoint.com/sites/Cliente-DataSync `
-Permissions ReadRequer o módulo PnP.PowerShell (PowerShell 7+): Install-Module PnP.PowerShell -Scope CurrentUser.
Sites.Selected) e o grant de leitura no site (acima). Sem ambos, o teste de conexão falha com erro de autorização.GoPanel Datasync · Validade: recomendamos 24 meses.* e ?), aplicado ao nome do arquivo, sem diferenciar maiúsculas. Ex.: *.xlsx ou Contas a Receber*.xlsx.*.xlsx, *.csv não funciona (seria lido como um único padrão literal e não casaria nada). Para tipos diferentes, crie um conector por tipo. O * casa qualquer sequência e o ? casa um caractere./ no padrão.A partir daí, a sincronização é incremental — arquivo por arquivo, via eTag:
Quatro garantias do modelo de conexão por aplicativo (Microsoft Graph).
Acesso por Sites.Selected com papel Read no site dedicado. O Datasync apenas lê — nunca escreve, altera ou apaga no seu SharePoint.
Com Sites.Selected, o app só enxerga o site liberado — nenhum outro site ou arquivo do tenant fica acessível.
Remova o consentimento ou exclua o segredo no Entra ID — a conexão é cortada na hora, sem depender de ninguém.
Tenant ID, Client ID e segredo ficam criptografados em Azure Key Vault. Nunca expostos em tela, logs ou repositórios.
Marque cada item conforme concluir. Tudo verde? É só rodar a primeira sincronização.
Sites.Selected, ou o grant de leitura no site (Grant-PnPAzureADAppSitePermission ... -Permissions Read). Confirme que a permissão está em verde como Concedido e que o site dedicado foi liberado para o app.Sites.Selected e liberar leitura no site dedicado (passo 2). Depois disso, o acesso é da aplicação — nenhum login pessoal é usado.Agendamos uma chamada de 30 minutos e executamos os 6 passos ao vivo com o seu time de TI.