{"id":18725240,"url":"https://github.com/murcegany/google-drive-update","last_synced_at":"2025-11-11T18:30:16.236Z","repository":{"id":252295368,"uuid":"840004204","full_name":"Murcegany/google-drive-update","owner":"Murcegany","description":"Exemplo de código para a integração do Google drive com o gmail.","archived":false,"fork":false,"pushed_at":"2024-08-08T19:39:51.000Z","size":575,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-28T13:14:33.958Z","etag":null,"topics":["api-driver","csharp","driver","gmail","gmail-api"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Murcegany.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-08T19:07:07.000Z","updated_at":"2024-08-19T20:45:27.000Z","dependencies_parsed_at":"2024-08-08T22:05:43.512Z","dependency_job_id":"17bf9d32-af55-4969-af31-ee1a962e9efc","html_url":"https://github.com/Murcegany/google-drive-update","commit_stats":null,"previous_names":["murcegany/google-drive-update"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Murcegany%2Fgoogle-drive-update","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Murcegany%2Fgoogle-drive-update/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Murcegany%2Fgoogle-drive-update/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Murcegany%2Fgoogle-drive-update/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Murcegany","download_url":"https://codeload.github.com/Murcegany/google-drive-update/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239592980,"owners_count":19664855,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api-driver","csharp","driver","gmail","gmail-api"],"created_at":"2024-11-07T14:09:34.555Z","updated_at":"2025-11-11T18:30:16.194Z","avatar_url":"https://github.com/Murcegany.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Gmail to Google Drive Integration\n\nEste projeto é um script em C# que faz a integração entre o Gmail e o Google Drive. Ele busca e-mails não lidos, faz o upload de anexos PDF para uma pasta específica no Google Drive, e em seguida, marca esses e-mails como lidos e os exclui. Sendo um projeto de exemplo, sendo necessário substituir por campos verdadeiros.\n\n### Como Funciona\n\nProcessamento de E-mails\n\n- O programa pesquisa por e-mails não lidos com anexos PDF de um remetente específico.\n- Ele ignora anexos que contenham certas palavras-chave no nome do arquivo (como \"Boleto\").\n- Os arquivos PDF são enviados para uma pasta específica no Google Drive.\n- Após o upload, o e-mail é marcado como lido e excluído.\n\nEvitando Duplicações\n\n- Antes de fazer o upload, o programa verifica se o arquivo já existe no Google Drive. Se o arquivo já estiver lá, ele não será carregado novamente.\n\nPersistência de Processamento\n\n- O programa salva o ID do último e-mail processado em um arquivo (lastProcessedMessageId.txt) para garantir que e-mails anteriores não sejam reprocessados.\n\nModificando o Filtro de E-mails\n\n- Você pode ajustar o filtro de e-mails alterando a string de consulta na linha:\n   ```bash\n    string query = \"from:email_do_remetente@example.com has:attachment is:unread\";\n   ```\n\nMudando a Pasta de Destino no Google Drive\n- Para alterar a pasta onde os arquivos são salvos no Google Drive, modifique a variável Parents no código:\n\n   ```bash\n    Parents = new List\u003cstring\u003e { \"sua_pasta_id\" };\n   ```\n\n\n## Requisitos\n\n- .NET Core SDK 3.1 ou superior\n- Conta Google com acesso ao Gmail e Google Drive\n- Credenciais de API da Google Cloud Platform (GCP)\n\n## Configuração\n\n### 1. Criar Projeto na Google Cloud Platform\n\n1. Acesse o [Google Cloud Console](https://console.cloud.google.com/).\n2. Crie um novo projeto.\n3. Ative as APIs do Gmail e do Google Drive para o seu projeto.\n   - **Gmail API**: Vá para \"APIs \u0026 Services\" \u003e \"Library\" e procure por \"Gmail API\". Clique em \"Enable\".\n   - **Google Drive API**: Vá para \"APIs \u0026 Services\" \u003e \"Library\" e procure por \"Google Drive API\". Clique em \"Enable\".\n4. Configure uma tela de consentimento OAuth 2.0 para seu projeto.\n   - Vá para \"APIs \u0026 Services\" \u003e \"OAuth consent screen\" e siga os passos para configurar.\n5. Crie credenciais para o OAuth 2.0:\n   - Vá para \"APIs \u0026 Services\" \u003e \"Credentials\".\n   - Clique em \"Create Credentials\" \u003e \"OAuth 2.0 Client IDs\".\n   - Escolha \"Desktop app\" como tipo de aplicação.\n   - Faça o download do arquivo `credentials.json` e salve-o na pasta raiz do projeto.\n\n### 2. Clonar o Repositório e Configurar\n\n1. Clone este repositório para sua máquina local:\n\n   ```bash\n   git clone https://github.com/seu-usuario/gmail-drive-integration.git\n   cd gmail-drive-integration\n   ```\n\n2. Coloque o arquivo credentials.json baixado anteriormente na pasta raiz do projeto.\n\n3. (Opcional) Modifique as variáveis email_do_remetente@example.com e sua_pasta_id no código conforme necessário.\n\n### 3. Compilar e Executar\n\n1. Abra o terminal na pasta do projeto e execute:\n\n   ```bash\n    dotnet build\n    dotnet run\n   ```\n\n2. Ao rodar pela primeira vez, o programa abrirá uma janela do navegador para você autorizar o acesso às suas contas do Gmail e Google Drive. Conceda as permissões necessárias.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmurcegany%2Fgoogle-drive-update","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmurcegany%2Fgoogle-drive-update","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmurcegany%2Fgoogle-drive-update/lists"}