Microsoft 365 - Credenciais¶
Use o plugin BotCity para credenciais da Microsoft para autenticar sua conta e poder utilizar os serviços do Microsoft 365.
Aviso
Para poder usar este plugin, você precisa ter uma conta Microsoft 365 com um projeto criado e configurado corretamente.
Para mais detalhes, veja a seção Criando Credenciais do Microsoft 365
Instalação¶
Importando o Plugin¶
Depois de instalar este pacote, a próxima etapa é importar o pacote no seu código e começar a usar as funções.
Configurando as credenciais do projeto¶
Primeiro, vamos autenticar nossa conta do Microsoft 365 usando as credenciais do projeto criado na seção Criando Credenciais do Microsoft 365.
Neste ponto, precisaremos das informações que extraímos durante o processo, o Application (client) ID e o Secret Value do projeto.
Definindo escopos e autenticando¶
Nesta etapa, definiremos o escopo dos serviços que queremos usar.
Para definir os escopos que serão usados, usaremos as permissões que adicionamos ao projeto como referência.
Você pode criar uma lista de escopos usando os valores definidos na classe Scopes
, a tabela abaixo descreve os escopos disponíveis:
Escopo | Descrição |
---|---|
Scopes.BASIC |
Autenticação básica, usado para as permissões User.Read , offline_access |
Scopes.FILES_READ |
Usado para a permissão Files.Read.All |
Scopes.FILES_READ_WRITE_ALL |
Usado para a permissão Files.ReadWrite.All |
Scopes.SITES_READ_ALL |
Usado para a permissão Sites.Read.All |
Scopes.SITES_READ_WRITE_ALL |
Usado para a permissão Sites.ReadWrite.All |
Scopes.MAIL_READ |
Usado para a permissão Mail.Read |
Scopes.MAIL_SEND |
Usado para a permissão Mail.Send |
Scopes.MAIL_READ_WRITE |
Usado para a permissão Mail.ReadWrite (ler, escrever e enviar e-mails) |
Importante
Ao instanciar o plugin, a lista de escopos deve corresponder às permissões adicionadas ao projeto.
Esta etapa é essencial para garantir que não hajam problemas de permissão ao usar as APIs.
from botcity.plugins.ms365.credentials import MS365CredentialsPlugin, Scopes
# Instanciando o plugin
service = MS365CredentialsPlugin(
client_id='<APPLICATION ID>',
client_secret='<SECRET VALUE>',
)
# Definindo a lista de escopos
scopes_list = [Scopes.BASIC, Scopes.FILES_READ_WRITE_ALL, Scopes.MAIL_READ_WRITE]
service.authenticate(scopes=scopes_list)
Dica
O escopo FILES_READ_WRITE_ALL
referente à permissão Files.ReadWrite.All
, já é o suficiente para utilizarmos os serviços do OneDrive e Excel.
Os escopos do exemplo acima seriam suficientes para podermos usar os serviços do OneDrive, Excel e Outlook.
Finalizando o fluxo de autenticação¶
Aviso
Na primeira execução, é necessário que o processo seja feito manualmente para que o arquivo de token seja gerado.
Para as execuções subsequentes, a autenticação é feita automaticamente se o arquivo de token já existir e ainda for válido.
Neste ponto, ao executar o código pela primeira vez, será exibido um link no terminal para ser aberto no navegador.
No navegador aberto, você deve fazer login na conta da Microsoft que está sendo usada, copiar a URL completa que foi gerada e colá-la no terminal onde você executou o código.
A URL gerada será algo assim:
Após isso, um arquivo chamado o365_token.txt
será criado.
Este arquivo será utilizado para as próximas autenticações, não sendo necessário realizar este processo novamente até que o token expire.
Usando os serviços do Microsoft 365¶
Neste ponto, você já tem uma instância do MS365CredentialsPlugin
configurada corretamente.
Você pode acessar diretamente as APIs por meio da propriedade ms365_account
ou usar essa instância do plugin para instanciar os plugins do OneDrive, Excel e Outlook.