Em vez de usar o recurso “Item” para encontrar seus arquivos, use o recurso “File”. Isso garante que os IDs retornados sejam compatíveis com a operação Download.
Substitua seu primeiro nó:
Resource: File
Operation: List
Configure a Pasta:
Na operação “List”, você pode especificar o caminho ou ID da pasta. Como você quer /Shared Documents/Dana, certifique-se de que está direcionando para essa pasta específica.
A Saída:
O id retornado por Resource: File → Operation: List é o DriveItem ID.
O Nó Download:
Passe esse id diretamente para Resource: File → Operation: Download. Isso vai resolver o erro 400 Bad Request.
Se a operação “File → List” integrada não lhe der a filtragem exata que você precisa, você pode usar a API do Microsoft Graph diretamente. Isso geralmente é mais confiável para estruturas de pastas profundas.
Passo 1: Liste os arquivos na pasta Use um nó HTTP Request:
@dana_bida a id de Item → Get Many é a list-item id, mas Download quer a driveItem id, daí seu 400. A solução mais fácil é pular o nó download inteiro, a chamada Graph children já te passa um link de download pré-assinado por arquivo, então é só fazer um GET nesse link, sem id juggling:
troca SITE_ID pela parentReference.siteId que você já vê no seu output, reutiliza sua credencial SharePoint OAuth existente no primeiro nó, e deixa a autenticação do nó download como None já que a url já é pré-assinada. se esse link de download vier vazio alguma hora (app-only auth faz isso), aponta esse nó pra /sites/SITE_ID/drive/items/{{ $json.id }}/content com sua credencial anexada no lugar.
depois de obter a lista de arquivos, adicione um nó Filter na resposta do arquivo existente (ou seja, {{ $json.file }} não está vazio) para excluir automaticamente subpastas do seu loop; caso contrário, a etapa de download falhará nos itens de pasta que se infiltrarem na resposta children.