---
title: Integração Microsoft OneDrive
description: "Gerenciamento de arquivos e pastas com integração Microsoft OneDrive para CrewAI."
icon: "cloud"
mode: "wide"
---

## Visão Geral

Permita que seus agentes façam upload, download e gerenciem arquivos e pastas no Microsoft OneDrive. Automatize operações de arquivos, organize conteúdo, crie links de compartilhamento e simplifique seus fluxos de trabalho de armazenamento em nuvem com automação alimentada por IA.

## Pré-requisitos

Antes de usar a integração Microsoft OneDrive, certifique-se de ter:

- Uma conta [CrewAI AOP](https://app.crewai.com) com assinatura ativa
- Uma conta Microsoft com acesso ao OneDrive
- Conectado sua conta Microsoft através da [página de Integrações](https://app.crewai.com/crewai_plus/connectors)

## Configurando a Integração Microsoft OneDrive

### 1. Conecte sua Conta Microsoft

1. Navegue para [Integrações CrewAI AOP](https://app.crewai.com/crewai_plus/connectors)
2. Encontre **Microsoft OneDrive** na seção de Integrações de Autenticação
3. Clique em **Conectar** e complete o fluxo OAuth
4. Conceda as permissões necessárias para acesso a arquivos
5. Copie seu Token Enterprise das [Configurações de Integração](https://app.crewai.com/crewai_plus/settings/integrations)

### 2. Instale o Pacote Necessário

```bash
uv add crewai-tools
```

### 3. Configuração de variável de ambiente

<Note>
  Para usar integrações com `Agent(apps=[])`, você deve definir a variável de ambiente `CREWAI_PLATFORM_INTEGRATION_TOKEN` com seu Enterprise Token.
</Note>

```bash
export CREWAI_PLATFORM_INTEGRATION_TOKEN="seu_enterprise_token"
```

Ou adicione ao seu arquivo `.env`:

```
CREWAI_PLATFORM_INTEGRATION_TOKEN=seu_enterprise_token
```

## Ações Disponíveis

<AccordionGroup>
  <Accordion title="microsoft_onedrive/list_files">
    **Descrição:** Listar arquivos e pastas no OneDrive.

    **Parâmetros:**
    - `top` (integer, opcional): Número de itens a recuperar (máx 1000). Padrão: 50.
    - `orderby` (string, opcional): Ordenar por campo (ex: "name asc", "lastModifiedDateTime desc"). Padrão: "name asc".
    - `filter` (string, opcional): Expressão de filtro OData.
  </Accordion>

  <Accordion title="microsoft_onedrive/get_file_info">
    **Descrição:** Obter informações sobre um arquivo ou pasta específica.

    **Parâmetros:**
    - `item_id` (string, obrigatório): O ID do arquivo ou pasta.
  </Accordion>

  <Accordion title="microsoft_onedrive/download_file">
    **Descrição:** Baixar um arquivo do OneDrive.

    **Parâmetros:**
    - `item_id` (string, obrigatório): O ID do arquivo a baixar.
  </Accordion>

  <Accordion title="microsoft_onedrive/upload_file">
    **Descrição:** Fazer upload de um arquivo para o OneDrive.

    **Parâmetros:**
    - `file_name` (string, obrigatório): Nome do arquivo a fazer upload.
    - `content` (string, obrigatório): Conteúdo do arquivo codificado em Base64.
  </Accordion>

  <Accordion title="microsoft_onedrive/create_folder">
    **Descrição:** Criar uma nova pasta no OneDrive.

    **Parâmetros:**
    - `folder_name` (string, obrigatório): Nome da pasta a criar.
  </Accordion>

  <Accordion title="microsoft_onedrive/delete_item">
    **Descrição:** Excluir um arquivo ou pasta do OneDrive.

    **Parâmetros:**
    - `item_id` (string, obrigatório): O ID do arquivo ou pasta a excluir.
  </Accordion>

  <Accordion title="microsoft_onedrive/copy_item">
    **Descrição:** Copiar um arquivo ou pasta no OneDrive.

    **Parâmetros:**
    - `item_id` (string, obrigatório): O ID do arquivo ou pasta a copiar.
    - `parent_id` (string, opcional): O ID da pasta de destino (opcional, padrão para raiz).
    - `new_name` (string, opcional): Novo nome para o item copiado (opcional).
  </Accordion>

  <Accordion title="microsoft_onedrive/move_item">
    **Descrição:** Mover um arquivo ou pasta no OneDrive.

    **Parâmetros:**
    - `item_id` (string, obrigatório): O ID do arquivo ou pasta a mover.
    - `parent_id` (string, obrigatório): O ID da pasta de destino.
    - `new_name` (string, opcional): Novo nome para o item (opcional).
  </Accordion>

  <Accordion title="microsoft_onedrive/search_files">
    **Descrição:** Pesquisar arquivos e pastas no OneDrive.

    **Parâmetros:**
    - `query` (string, obrigatório): String de consulta de pesquisa.
    - `top` (integer, opcional): Número de resultados a retornar (máx 1000). Padrão: 50.
  </Accordion>

  <Accordion title="microsoft_onedrive/share_item">
    **Descrição:** Criar um link de compartilhamento para um arquivo ou pasta.

    **Parâmetros:**
    - `item_id` (string, obrigatório): O ID do arquivo ou pasta a compartilhar.
    - `type` (string, opcional): Tipo de link de compartilhamento. Opções: view, edit, embed. Padrão: view.
    - `scope` (string, opcional): Escopo do link de compartilhamento. Opções: anonymous, organization. Padrão: anonymous.
  </Accordion>

  <Accordion title="microsoft_onedrive/get_thumbnails">
    **Descrição:** Obter miniaturas para um arquivo.

    **Parâmetros:**
    - `item_id` (string, obrigatório): O ID do arquivo.
  </Accordion>
</AccordionGroup>

## Exemplos de Uso

### Configuração Básica do Agente Microsoft OneDrive

```python
from crewai import Agent, Task, Crew

# Crie um agente com capacidades do Microsoft OneDrive
onedrive_agent = Agent(
    role="Gerenciador de Arquivos",
    goal="Gerenciar arquivos e pastas no OneDrive de forma eficiente",
    backstory="Um assistente IA especializado em operações de arquivos do Microsoft OneDrive e organização.",
    apps=['microsoft_onedrive']  # Todas as ações do OneDrive estarão disponíveis
)

# Tarefa para listar arquivos e criar pasta
organize_files_task = Task(
    description="Listar todos os arquivos no diretório raiz do meu OneDrive e criar uma nova pasta chamada 'Documentos do Projeto'.",
    agent=onedrive_agent,
    expected_output="Lista de arquivos exibida e nova pasta 'Documentos do Projeto' criada."
)

# Execute a tarefa
crew = Crew(
    agents=[onedrive_agent],
    tasks=[organize_files_task]
)

crew.kickoff()
```

## Solução de Problemas

### Problemas Comuns

**Erros de Autenticação**
- Certifique-se de que sua conta Microsoft tenha as permissões necessárias para acesso a arquivos (ex: `Files.Read`, `Files.ReadWrite`).
- Verifique se a conexão OAuth inclui todos os escopos necessários.

**Problemas de Upload de Arquivos**
- Certifique-se de que `file_name` e `content` sejam fornecidos para uploads de arquivos.
- O conteúdo deve ser codificado em Base64 para arquivos binários.
- Verifique se você tem permissões de escrita no OneDrive.

### Obtendo Ajuda

<Card title="Precisa de Ajuda?" icon="headset" href="mailto:support@crewai.com">
  Entre em contato com nossa equipe de suporte para assistência com configuração ou solução de problemas da integração Microsoft OneDrive.
</Card>
