Compartilhar via

Preciso alocar minhas pastas do Sharepoint em outro Sharepoint, como fazer utilizando python?

Raphael Rodrigues 0 Pontos de reputação
2025-03-12T20:59:16.1566667+00:00

Tenho uma pasta, está alocada toda documentação, porém as equipes aonde eu trabalho não seguem uma boa pratica de nomenclatura, e se seguia, se perdeu com o tempo.
Preciso recriar o sharepoint, porém não irei mover os arquivos manualmente por medo de perder os caminhos, gostaria de utilizar a ferramente Python para a sincronização destas pastas atuais para o Novo Sharepoint, aonde estariam alocada dentro de uma pasta "Documentos (Year)", algum passo a passo, video, ou codigo pronto com a mesma ideia?

Microsoft Q&A
Microsoft Q&A
Use esta marca para compartilhar sugestões, solicitações de recursos e bugs com a equipe de perguntas e respostas da Microsoft. A equipe de perguntas e respostas da Microsoft avaliará seus comentários regularmente e fornecerá atualizações eventuais.
369 perguntas
0 comentários Sem comentários
{count} votos

2 respostas

Classificar por: Mais útil
  1. Jonathan Pereira Castillo 16,030 Pontos de reputação Equipe Externa da Microsoft
    2025-03-12T22:07:44.3333333+00:00

    Oi Raphael Rodrigues!

    Bem-vindo ao Microsoft Q&A!  

    Para alocar suas pastas do SharePoint em outro SharePoint utilizando Python, você pode seguir um passo a passo que envolve o uso da API Microsoft Graph. Aqui está um guia detalhado para ajudá-lo:

    Passo a Passo para Sincronizar Pastas do SharePoint com Python

    Configuração Inicial:

    • Instale o Python: Certifique-se de ter o Python 3.x instalado em seu sistema.
    • Instale as Dependências: Utilize o comando pip install -r requirements.txt para instalar as bibliotecas necessárias.
    • Registre um App no Azure AD: Você precisará registrar um aplicativo no Azure AD para obter as credenciais necessárias (Client ID, Tenant ID, Client Secret).

    Criação do Arquivo .env:

    • Crie um arquivo .env no diretório do script e adicione os seguintes valores:
    CLIENT_ID=Seu_Client_ID
    TENANT_ID=Seu_Tenant_ID
    CLIENT_SECRET=Seu_Client_Secret
    SHAREPOINT_SITE_ID=Seu_SharePoint_Site_ID
    SHAREPOINT_DOC_LIBRARY=Caminho_para_Sua_Biblioteca_de_Documentos_no_SharePoint
    LOCAL_FOLDER=Caminho_para_Sua_Pasta_Local
    

    Script Python para Sincronização:

    • Utilize o seguinte script Python para sincronizar as pastas:
    from office365.runtime.auth.authentication_context import AuthenticationContext
    from office365.sharepoint.client_context import ClientContext
    from office365.sharepoint.files.file import File
    import os
    # Configurações de autenticação
    url_shrpt = 'https://SeuOrganizacao.sharepoint.com/sites/SeuSiteSharepoint'
    username_shrpt = 'SeuUsuario'
    password_shrpt = 'SuaSenha'
    folder_url_shrpt = '/sites/SeuSiteSharepoint/Documentos%20Compartilhados/SuaPastaSharepoint/'
    # Autenticação
    ctx_auth = AuthenticationContext(url_shrpt)
    if ctx_auth.acquire_token_for_user(username_shrpt, password_shrpt):
    ctx = ClientContext(url_shrpt, ctx_auth)
    web = ctx.web
    ctx.load(web)
    ctx.execute_query()
    print('Autenticado no SharePoint como: ', web.properties['Title'])
    else:
    print(ctx_auth.get_last_error())
    # Função para sincronizar pastas
    def sync_local_folder_to_sharepoint(local_folder, sharepoint_folder):
    for root, dirs, files in os.walk(local_folder):
    for file_name in files:
    local_file_path = os.path.join(root, file_name)
    relative_path = os.path.relpath(local_file_path, local_folder)
    sharepoint_file_path = os.path.join(sharepoint_folder, relative_path).replace("\\", "/")
    with open(local_file_path, 'rb') as file_content:
    File.save_binary(ctx, sharepoint_file_path, file_content)
    print(f'Arquivo {file_name} sincronizado para {sharepoint_file_path}')
    # Sincronizar a pasta local com o SharePoint
    sync_local_folder_to_sharepoint('Caminho_para_Sua_Pasta_Local', folder_url_shrpt)
    

    Execução do Script:

    • Execute o script com o comando python sync_script.py.

    Recursos Adicionais

    Espero que essas dicas ajudem a resolver o problema! Se precisar de mais assistência, estou à disposição.

    Saudações

    Jonathan.

    -----------

    Sua opinião é muito importante para nós! Se esta resposta resolveu sua consulta, por favor clique em ‘YES‘Isso nos ajuda a melhorar continuamente a qualidade e relevância de nossas soluções. Obrigado pela sua colaboração!

    
    
    0 comentários Sem comentários

  2. Jonathan Pereira Castillo 16,030 Pontos de reputação Equipe Externa da Microsoft
    2025-03-14T18:41:18.9433333+00:00

    Oi Raphael Rodrigues!,

    O objetivo desta mensagem é verificar as informações fornecidas. Se tiver mais atualizações sobre este assunto, por favor, não hesite em responder neste mesmo tópico.

    Cuidadosamente                 

    Jonathan

    -----------

    Sua opinião é muito importante para nós! Se esta resposta resolveu sua consulta, por favor clique em ‘YES‘. Isso nos ajuda a melhorar continuamente a qualidade e relevância de nossas soluções. Obrigado pela sua colaboração!

    0 comentários Sem comentários

Sua resposta

As respostas podem ser marcadas como Respostas Aceitas pelo autor da pergunta, o que ajuda os usuários a saber a resposta que resolveu o problema do autor.