Microsoft 365 - OneDrive¶
Interaja e execute várias operações por meio de uma conta do Microsoft 365. Baixe, carregue e gerencie arquivos facilmente através do plugin BotCity para o OneDrive.
Aviso
Para poder usar este plugin, você precisa ter uma conta do Microsoft 365 com um projeto criado e configurado corretamente.
Depois de criar um projeto, você precisa concluir o processo de autenticação por meio do plugin Microsoft 365 Credentials.
Para mais detalhes, consulte as seções anteriores:
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 a conta de serviço¶
Conforme mencionado acima, para usar o plugin do OneDrive, é necessário realizar o processo de autenticação da conta por meio do plugin Microsoft 365 Credentials.
Com a instância do plugin de credenciais obtida, vamos usá-la para instanciar o plugin do OneDrive.
from botcity.plugins.ms365.credentials import MS365CredentialsPlugin, Scopes
from botcity.plugins.ms365.onedrive import MS365OneDrivePlugin
# Instanciando o plugin de Credenciais
service = MS365CredentialsPlugin(
client_id='<APPLICATION ID>',
client_secret='<SECRET VALUE>',
)
service.authenticate(scopes=[Scopes.BASIC, Scopes.FILES_READ_WRITE_ALL])
# Instanciando o plugin do OneDrive
onedrive = MS365OneDrivePlugin(service_account=service)
Dica
Para utilizar o serviço do OneDrive, basta adicionar o escopo Scopes.FILES_READ_WRITE_ALL
referente à permissão Files.ReadWrite.All
do projeto.
Veja mais detalhes sobre escopos e permissões nesse link.
Obtendo alguns arquivos¶
Você pode obter uma lista de arquivos armazenados no drive. É possível obter os arquivos da pasta raiz ou de uma pasta pai específica.
Com os arquivos retornados, você pode realizar operações como download e também acessar algumas propriedades específicas.
Usando uma pasta específica como referência, vamos passar o caminho da pasta no drive como parâmetro.
Dica
O caminho deve seguir o padrão: /caminho/da/pasta_pai.
A primeira /
significa que estamos iniciando na pasta raiz e o restante do caminho será o "caminho absoluto" do item no drive.
Procurando por arquivos específicos¶
Além de obter vários arquivos, também é possível filtrar para retornar apenas um arquivo específico.
Nesse caso, podemos procurar um item no drive pelo nome ou usando seu caminho absoluto.
onedrive = MS365OneDrivePlugin(service_account=service)
# Retornando o primeiro arquivo que corresponde a este nome
file = onedrive.get_file_by_name(file_name="credentials.txt")
print(file)
# Obtendo arquivo pelo caminho. Usando padrão: '/caminho/para/arquivo'
file_by_path = onedrive.get_file_by_path("/myFolder/subFolder/document.pdf")
print(file_by_path)
Carregando arquivos¶
Podemos facilmente carregar um novo arquivo no OneDrive passando o caminho local e o caminho onde o arquivo será armazenado.
Se nenhum caminho específico for passado, o arquivo será salvo na pasta raiz do drive.
Baixando arquivos¶
Além de baixar arquivos diretamente através dos objetos retornados pelos métodos get_files()
, também podemos baixar um arquivo diretamente passando seu caminho no drive.
Excluindo arquivos¶
Como nos exemplos acima, usando o caminho do arquivo no drive podemos deletar um arquivo específico.
Criando uma nova pasta¶
Podemos criar facilmente uma nova pasta no OneDrive. A pasta pode ser criada na pasta raiz do drive ou em um caminho específico.
Gerenciando arquivos através do Sharepoint¶
Podemos realizar as mesmas operações com arquivos e pastas utilizando como referência o drive de um site do Sharepoint.
Veja mais detalhes sobre a configuração necessária na documentação do plugin do Sharepoint.