{"id":28632650,"url":"https://github.com/taisprestes01/tiktok-uploader","last_synced_at":"2025-06-12T14:12:29.981Z","repository":{"id":286549832,"uuid":"961737689","full_name":"taisprestes01/tiktok-uploader","owner":"taisprestes01","description":"tiktok-uploader is a Python-based project that automates the process of uploading videos to TikTok using the official TikTok API. It handles the full OAuth 2.0 authentication flow.","archived":false,"fork":false,"pushed_at":"2025-04-13T23:51:50.000Z","size":30,"stargazers_count":4,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-10T00:40:51.501Z","etag":null,"topics":["account","api","automation","dark","python","python3","reddit","tiktok","tiktok-api","tiktok-automation","tiktok-upload","tiktok-uploader","trending"],"latest_commit_sha":null,"homepage":"","language":"Python","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/taisprestes01.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":"2025-04-07T04:56:04.000Z","updated_at":"2025-04-12T06:06:52.000Z","dependencies_parsed_at":"2025-04-07T06:21:57.905Z","dependency_job_id":"0e82a4a4-da37-4d0a-8c77-8b93eddc3645","html_url":"https://github.com/taisprestes01/tiktok-uploader","commit_stats":null,"previous_names":["taisprestes01/tiktok-uploader"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/taisprestes01/tiktok-uploader","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taisprestes01%2Ftiktok-uploader","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taisprestes01%2Ftiktok-uploader/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taisprestes01%2Ftiktok-uploader/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taisprestes01%2Ftiktok-uploader/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/taisprestes01","download_url":"https://codeload.github.com/taisprestes01/tiktok-uploader/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taisprestes01%2Ftiktok-uploader/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259479623,"owners_count":22864366,"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":["account","api","automation","dark","python","python3","reddit","tiktok","tiktok-api","tiktok-automation","tiktok-upload","tiktok-uploader","trending"],"created_at":"2025-06-12T14:12:25.790Z","updated_at":"2025-06-12T14:12:29.972Z","avatar_url":"https://github.com/taisprestes01.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"🇺🇲\n\u003e ⭐ **If this project helped you, leave a star \u003e.\u003c**  \n\u003e 🛠️ **This project will soon support scheduled video publishing.**\n\n🇧🇷\n\u003e ⭐ **Se foi útil para você, deixa uma estrelinha \u003e.\u003c**  \n\u003e 🛠️ **Este projeto ainda receberá a funcionalidade de agendamento de publicação de vídeos.**  \n\n\u003cdetails\u003e\n\u003csummary\u003eEnglish version 🇺🇸🇬🇧🇮🇳\u003c/summary\u003e\n\n\u003ch1 align=\"center\"\u003e\n  \u003cbr\u003e\n  \u003cimg src=\"https://github.com/user-attachments/assets/002aea1c-e08e-41a6-9360-fa760cb2dff5\" alt=\"TikTok Logo\" width=\"120\"\u003e\n  \u003cbr\u003e\n  TikTok OAuth \u0026 Video Upload\n  \u003cbr\u003e\n\u003c/h1\u003e \n\n\n\u003ch4 align=\"center\"\u003e \nAutomated flow for OAuth and video upload using TikTok API + Python.\n\u003c/h4\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#-requirements\"\u003e🔧 Requirements\u003c/a\u003e •\n  \u003ca href=\"#-how-to-use\"\u003e🚀 How to Use\u003c/a\u003e •\n  \u003ca href=\"#-https-callback-ngrok\"\u003e🌐 HTTPS Callback via ngrok\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n## 🔧 Requirements\n\n- Python 3.7+\n- A TikTok Developer Account\n- A public HTTPS callback URL (required for TikTok OAuth)\n\nYou can use [ngrok](https://ngrok.com) to generate a secure public HTTPS URL to your local Flask server.\n\n---\n\n## 🌐 How to set up the HTTPS callback using ngrok\n\n1. [Create a free ngrok account](https://dashboard.ngrok.com/signup)  \n2. [Download ngrok](https://ngrok.com/download) and unzip the executable  \n3. Authenticate ngrok with your account token:\n\n```bash\nngrok config add-authtoken YOUR_NGROK_AUTH_TOKEN\n```\n\n4. Start a tunnel on port 8080 (used by Flask):\n\n```bash\nngrok http 8080\n```\n\n5. Copy the HTTPS URL generated by ngrok. It will look like:\n\n```\nhttps://abcd1234.ngrok-free.app/callback\n```\n\n6. Use this full URL in two places:\n   - On the TikTok Developer Portal  \n   - Paste it into the `.env` file:\n\n```\nREDIRECT_URI=https://abcd1234.ngrok-free.app/callback\n```\n\n---\n\n## 🚀 How to Use\n\n### 1. Create a TikTok Developer Account\n\nGo to [https://developers.tiktok.com](https://developers.tiktok.com) and:\n\n- Log in with your TikTok account  \n- Go to **Developer Portal** → **Manage App** → **Create App**  \n- Change your app to **SANDBOX**  \n- Go to **Products** → **Add Products** → **Create App**  \n- Enable **Login Kit** and **Content Posting**  \n- Go to **Basic information** and select **Web** under Platforms  \n- Enter any link in \"Configure for Web/Desktop\"  \n- Go to **Products** → **Login Kit** and paste your ngrok link in **Redirect URI**  \n- Copy your **Client Key** and **Client Secret**  \n- Fill in the rest of the required fields with placeholder data  \n- Paste both keys in your `.env` file:\n\n```\nCLIENT_KEY=your_key\nCLIENT_SECRET=your_secret\n```\n\nWoohoo! All set, let’s run it 🚀\n\n---\n\n### 2. Install Dependencies\n\n```bash\npip install -r requirements.txt\n```\n\n\u003c/details\u003e\n\n\u003ch1 align=\"center\"\u003e\n  \u003cbr\u003e\n  \u003cimg src=\"https://github.com/user-attachments/assets/002aea1c-e08e-41a6-9360-fa760cb2dff5\" alt=\"TikTok Logo\" width=\"120\"\u003e\n  \u003cbr\u003e\n  TikTok OAuth \u0026 Upload de Vídeo\n  \u003cbr\u003e\n\u003c/h1\u003e \n\n\u003ch4 align=\"center\"\u003e \nFluxo automatizado de autenticação OAuth e upload de vídeo usando a API do TikTok com Python.\n\u003c/h4\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#-requisitos\"\u003e🔧 Requisitos\u003c/a\u003e •\n  \u003ca href=\"#-como-usar\"\u003e🚀 Como Usar\u003c/a\u003e •\n  \u003ca href=\"#-callback-https-ngrok\"\u003e🌐 Callback HTTPS com ngrok\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n## 🔧 Requisitos\n\n- Python 3.7+\n- Conta de desenvolvedor TikTok\n- Uma URL HTTPS pública para callback (necessária para o OAuth)\n\nVocê pode usar o [ngrok](https://ngrok.com) para gerar um link HTTPS público seguro para seu servidor Flask local.\n\n---\n\n## 🌐 Como configurar o callback HTTPS com ngrok\n\n1. [Crie uma conta gratuita no ngrok](https://dashboard.ngrok.com/signup)  \n2. [Baixe o ngrok](https://ngrok.com/download) e descompacte o executável  \n3. Autentique o ngrok com seu token:\n\n```bash\nngrok config add-authtoken SEU_TOKEN_DO_NGROK\n```\n\n4. Inicie um túnel na porta 8080 (usada pelo Flask):\n\n```bash\nngrok http 8080\n```\n\n5. Copie a URL HTTPS gerada. Vai parecer com isso:\n\n```\nhttps://abcd1234.ngrok-free.app/callback\n```\n\n6. Use essa URL completa em dois lugares:\n   - No portal de desenvolvedor do TikTok  \n   - No arquivo `.env`:\n\n```\nREDIRECT_URI=https://abcd1234.ngrok-free.app/callback\n```\n\n---\n\n## 🚀 Como Usar\n\n### 1. Criar Conta de Desenvolvedor TikTok\n\nAcesse [https://developers.tiktok.com](https://developers.tiktok.com) e:\n\n- Faça login com sua conta TikTok  \n- Vá em **Developer Portal** → **Manage App** → **Create App**  \n- Altere o app para **SANDBOX**  \n- Vá em **Products** → **Add Products** → **Create App**  \n- Ative **Login Kit** e **Content Posting**  \n- Em **Basic information**, selecione **Web** como plataforma  \n- Insira qualquer link em \"Configure for Web/Desktop\"  \n- Vá em **Products** → **Login Kit** e cole o link do ngrok em **Redirect URI**  \n- Copie seu **Client Key** e **Client Secret**  \n- Preencha o resto dos campos obrigatórios com dados fictícios  \n- E cole no `.env`:\n\n```\nCLIENT_KEY=sua_key\nCLIENT_SECRET=seu_secret\n```\n\nOba! Tudo pronto, bora rodar 🚀\n\n---\n\n### 2. Instalar as Dependências\n\n```bash\npip install -r requirements.txt\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftaisprestes01%2Ftiktok-uploader","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftaisprestes01%2Ftiktok-uploader","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftaisprestes01%2Ftiktok-uploader/lists"}