mirror of
https://github.com/crewAIInc/crewAI.git
synced 2025-12-16 04:18:35 +00:00
245 lines
9.6 KiB
Plaintext
245 lines
9.6 KiB
Plaintext
---
|
|
title: Integração Google Docs
|
|
description: "Criação e edição de documentos com integração Google Docs para CrewAI."
|
|
icon: "file-lines"
|
|
mode: "wide"
|
|
---
|
|
|
|
## Visão Geral
|
|
|
|
Permita que seus agentes criem, editem e gerenciem documentos do Google Docs com manipulação de texto e formatação. Automatize a criação de documentos, insira e substitua texto, gerencie intervalos de conteúdo e simplifique seus fluxos de trabalho de documentos com automação alimentada por IA.
|
|
|
|
## Pré-requisitos
|
|
|
|
Antes de usar a integração Google Docs, certifique-se de ter:
|
|
|
|
- Uma conta [CrewAI AMP](https://app.crewai.com) com assinatura ativa
|
|
- Uma conta Google com acesso ao Google Docs
|
|
- Conectado sua conta Google através da [página de Integrações](https://app.crewai.com/crewai_plus/connectors)
|
|
|
|
## Configurando a Integração Google Docs
|
|
|
|
### 1. Conecte sua Conta Google
|
|
|
|
1. Navegue para [Integrações CrewAI AMP](https://app.crewai.com/crewai_plus/connectors)
|
|
2. Encontre **Google Docs** 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 documentos
|
|
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="google_docs/create_document">
|
|
**Descrição:** Criar um novo documento do Google.
|
|
|
|
**Parâmetros:**
|
|
- `title` (string, opcional): O título para o novo documento.
|
|
</Accordion>
|
|
|
|
<Accordion title="google_docs/get_document">
|
|
**Descrição:** Obter o conteúdo e metadados de um documento do Google.
|
|
|
|
**Parâmetros:**
|
|
- `documentId` (string, obrigatório): O ID do documento a recuperar.
|
|
- `includeTabsContent` (boolean, opcional): Se deve incluir conteúdo de abas. Padrão: false
|
|
- `suggestionsViewMode` (string, opcional): O modo de visualização de sugestões a aplicar ao documento. Opções: DEFAULT_FOR_CURRENT_ACCESS, PREVIEW_SUGGESTIONS_ACCEPTED, PREVIEW_WITHOUT_SUGGESTIONS. Padrão: DEFAULT_FOR_CURRENT_ACCESS
|
|
</Accordion>
|
|
|
|
<Accordion title="google_docs/batch_update">
|
|
**Descrição:** Aplicar uma ou mais atualizações a um documento do Google.
|
|
|
|
**Parâmetros:**
|
|
- `documentId` (string, obrigatório): O ID do documento a atualizar.
|
|
- `requests` (array, obrigatório): Uma lista de atualizações a aplicar ao documento. Cada item é um objeto representando uma solicitação.
|
|
- `writeControl` (object, opcional): Fornece controle sobre como as solicitações de escrita são executadas. Contém `requiredRevisionId` (string) e `targetRevisionId` (string).
|
|
</Accordion>
|
|
|
|
<Accordion title="google_docs/insert_text">
|
|
**Descrição:** Inserir texto em um documento do Google em um local específico.
|
|
|
|
**Parâmetros:**
|
|
- `documentId` (string, obrigatório): O ID do documento a atualizar.
|
|
- `text` (string, obrigatório): O texto a inserir.
|
|
- `index` (integer, opcional): O índice baseado em zero onde inserir o texto. Padrão: 1
|
|
</Accordion>
|
|
|
|
<Accordion title="google_docs/replace_text">
|
|
**Descrição:** Substituir todas as instâncias de texto em um documento do Google.
|
|
|
|
**Parâmetros:**
|
|
- `documentId` (string, obrigatório): O ID do documento a atualizar.
|
|
- `containsText` (string, obrigatório): O texto a encontrar e substituir.
|
|
- `replaceText` (string, obrigatório): O texto para substituir.
|
|
- `matchCase` (boolean, opcional): Se a pesquisa deve respeitar maiúsculas e minúsculas. Padrão: false
|
|
</Accordion>
|
|
|
|
<Accordion title="google_docs/delete_content_range">
|
|
**Descrição:** Excluir conteúdo de um intervalo específico em um documento do Google.
|
|
|
|
**Parâmetros:**
|
|
- `documentId` (string, obrigatório): O ID do documento a atualizar.
|
|
- `startIndex` (integer, obrigatório): O índice inicial do intervalo a excluir.
|
|
- `endIndex` (integer, obrigatório): O índice final do intervalo a excluir.
|
|
</Accordion>
|
|
|
|
<Accordion title="google_docs/insert_page_break">
|
|
**Descrição:** Inserir uma quebra de página em um local específico em um documento do Google.
|
|
|
|
**Parâmetros:**
|
|
- `documentId` (string, obrigatório): O ID do documento a atualizar.
|
|
- `index` (integer, opcional): O índice baseado em zero onde inserir a quebra de página. Padrão: 1
|
|
</Accordion>
|
|
|
|
<Accordion title="google_docs/create_named_range">
|
|
**Descrição:** Criar um intervalo nomeado em um documento do Google.
|
|
|
|
**Parâmetros:**
|
|
- `documentId` (string, obrigatório): O ID do documento a atualizar.
|
|
- `name` (string, obrigatório): O nome para o intervalo nomeado.
|
|
- `startIndex` (integer, obrigatório): O índice inicial do intervalo.
|
|
- `endIndex` (integer, obrigatório): O índice final do intervalo.
|
|
</Accordion>
|
|
</AccordionGroup>
|
|
|
|
## Exemplos de Uso
|
|
|
|
### Configuração Básica do Agente Google Docs
|
|
|
|
```python
|
|
from crewai import Agent, Task, Crew
|
|
|
|
# Crie um agente com capacidades do Google Docs
|
|
docs_agent = Agent(
|
|
role="Criador de Documentos",
|
|
goal="Criar e gerenciar documentos do Google Docs de forma eficiente",
|
|
backstory="Um assistente IA especializado em criação e edição de documentos do Google Docs.",
|
|
apps=['google_docs'] # Todas as ações do Google Docs estarão disponíveis
|
|
)
|
|
|
|
# Tarefa para criar um novo documento
|
|
create_doc_task = Task(
|
|
description="Criar um novo documento do Google intitulado 'Relatório de Status do Projeto'",
|
|
agent=docs_agent,
|
|
expected_output="Novo documento do Google 'Relatório de Status do Projeto' criado com sucesso"
|
|
)
|
|
|
|
# Execute a tarefa
|
|
crew = Crew(
|
|
agents=[docs_agent],
|
|
tasks=[create_doc_task]
|
|
)
|
|
|
|
crew.kickoff()
|
|
```
|
|
|
|
### Edição de Texto e Gerenciamento de Conteúdo
|
|
|
|
```python
|
|
from crewai import Agent, Task, Crew
|
|
|
|
# Crie um agente focado em edição de texto
|
|
text_editor = Agent(
|
|
role="Editor de Documentos",
|
|
goal="Editar e atualizar conteúdo em documentos do Google Docs",
|
|
backstory="Um assistente IA habilidoso em edição precisa de texto e gerenciamento de conteúdo.",
|
|
apps=['google_docs/insert_text', 'google_docs/replace_text', 'google_docs/delete_content_range']
|
|
)
|
|
|
|
# Tarefa para editar conteúdo do documento
|
|
edit_content_task = Task(
|
|
description="No documento 'your_document_id', inserir o texto 'Resumo Executivo: ' no início, depois substituir todas as instâncias de 'TODO' por 'CONCLUÍDO'.",
|
|
agent=text_editor,
|
|
expected_output="Documento atualizado com novo texto inserido e itens TODO substituídos."
|
|
)
|
|
|
|
crew = Crew(
|
|
agents=[text_editor],
|
|
tasks=[edit_content_task]
|
|
)
|
|
|
|
crew.kickoff()
|
|
```
|
|
|
|
### Operações Avançadas de Documentos
|
|
|
|
```python
|
|
from crewai import Agent, Task, Crew
|
|
|
|
# Crie um agente para operações avançadas de documentos
|
|
document_formatter = Agent(
|
|
role="Formatador de Documentos",
|
|
goal="Aplicar formatação avançada e estrutura a documentos do Google",
|
|
backstory="Um assistente IA que lida com formatação complexa de documentos e organização.",
|
|
apps=['google_docs/batch_update', 'google_docs/insert_page_break', 'google_docs/create_named_range']
|
|
)
|
|
|
|
# Tarefa para formatar documento
|
|
format_doc_task = Task(
|
|
description="No documento 'your_document_id', inserir uma quebra de página na posição 100, criar um intervalo nomeado chamado 'Introdução' para caracteres 1-50, e aplicar atualizações de formatação em lote.",
|
|
agent=document_formatter,
|
|
expected_output="Documento formatado com quebra de página, intervalo nomeado e estilo aplicado."
|
|
)
|
|
|
|
crew = Crew(
|
|
agents=[document_formatter],
|
|
tasks=[format_doc_task]
|
|
)
|
|
|
|
crew.kickoff()
|
|
```
|
|
|
|
## Solução de Problemas
|
|
|
|
### Problemas Comuns
|
|
|
|
**Erros de Autenticação**
|
|
- Certifique-se de que sua conta Google tenha as permissões necessárias para acesso ao Google Docs.
|
|
- Verifique se a conexão OAuth inclui todos os escopos necessários (`https://www.googleapis.com/auth/documents`).
|
|
|
|
**Problemas de ID do Documento**
|
|
- Verifique novamente os IDs dos documentos para correção.
|
|
- Certifique-se de que o documento existe e está acessível à sua conta.
|
|
- IDs de documentos podem ser encontrados na URL do Google Docs.
|
|
|
|
**Inserção de Texto e Operações de Intervalo**
|
|
- Ao usar `insert_text` ou `delete_content_range`, certifique-se de que as posições de índice sejam válidas.
|
|
- Lembre-se de que o Google Docs usa indexação baseada em zero.
|
|
- O documento deve ter conteúdo nas posições de índice especificadas.
|
|
|
|
**Formatação de Solicitação de Atualização em Lote**
|
|
- Ao usar `batch_update`, certifique-se de que o array `requests` esteja formatado corretamente de acordo com a documentação da API do Google Docs.
|
|
- Atualizações complexas requerem estruturas JSON específicas para cada tipo de solicitação.
|
|
|
|
**Operações de Substituição de Texto**
|
|
- Para `replace_text`, certifique-se de que o parâmetro `containsText` corresponda exatamente ao texto que você deseja substituir.
|
|
- Use o parâmetro `matchCase` para controlar a sensibilidade a maiúsculas e minúsculas.
|
|
|
|
### 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 Google Docs.
|
|
</Card>
|