# YouTube Data API Setup Guide This guide provides step-by-step instructions for setting up YouTube Data API integration for managing video comments. --- ## Table of Contents 1. [Overview](#overview) 2. [Prerequisites](#prerequisites) 3. [Google Cloud Console Setup](#google-cloud-console-setup) 4. [Environment Configuration](#environment-configuration) 5. [OAuth Redirect URI Configuration](#oauth-redirect-uri-configuration) 6. [Permissions & Scopes](#permissions--scopes) 7. [Development vs Production](#development-vs-production) 8. [Troubleshooting](#troubleshooting) --- ## Overview **API Version:** YouTube Data API v3 **API Service Name:** `youtube` **API Version:** `v3` **Auth Method:** OAuth 2.0 ### Features Supported - Fetch channel videos - Read video comments - Reply to comments - Automatic token refresh --- ## Prerequisites - A Google account with a YouTube channel - Access to [Google Cloud Console](https://console.cloud.google.com/) - Videos uploaded to your YouTube channel --- ## Google Cloud Console Setup ### Step 1: Create a New Project 1. Navigate to [Google Cloud Console](https://console.cloud.google.com/) 2. Click on the project selector dropdown at the top 3. Click **"New Project"** 4. Enter project details: - **Project Name:** e.g., "PX360 YouTube Integration" - **Organization:** Select your organization (if applicable) 5. Click **"Create"** 6. Select your new project ### Step 2: Enable YouTube Data API 1. Go to **"APIs & Services"** → **"Library"** 2. Search for **"YouTube Data API v3"** 3. Click on it and click **"Enable"** ### Step 3: Configure OAuth Consent Screen 1. Go to **"APIs & Services"** → **"OAuth consent screen"** 2. Select **"External"** user type (unless you have a Google Workspace account) 3. Click **"Create"** 4. Fill in the required fields: - **App Name:** Your application name - **User Support Email:** Your support email - **App Logo:** Upload your logo - **Application Home Page:** Your website URL - **Authorized Domains:** Your domain(s) - **Developer Contact Email:** Your email 5. Click **"Save and Continue"** 6. Add scopes (click "Add or Remove Scopes"): - `https://www.googleapis.com/auth/youtube.readonly` - `https://www.googleapis.com/auth/youtube.force-ssl` 7. Click **"Save and Continue"** 8. Add test users (for development) 9. Click **"Save and Continue"** ### Step 4: Create OAuth 2.0 Credentials 1. Go to **"APIs & Services"** → **"Credentials"** 2. Click **"Create Credentials"** → **"OAuth client ID"** 3. Select **"Web application"** 4. Configure: - **Name:** e.g., "PX360 YouTube Client" - **Authorized JavaScript origins:** - Development: `http://127.0.0.1:8000` - Production: `https://yourdomain.com` - **Authorized redirect URIs:** - Development: `http://127.0.0.1:8000/social/callback/YT/` - Production: `https://yourdomain.com/social/callback/YT/` 5. Click **"Create"** 6. **Download the JSON file** - This is your credentials file ### Step 5: Save Credentials File 1. Rename the downloaded JSON file to `yt_client_secrets.json` 2. Place it in your project's `secrets/` directory: ``` your_project/ ├── secrets/ │ ├── gmb_client_secrets.json │ └── yt_client_secrets.json └── ... ``` The JSON file structure: ```json { "web": { "client_id": "xxxxx.apps.googleusercontent.com", "project_id": "your-project-id", "auth_uri": "https://accounts.google.com/o/oauth2/auth", "token_uri": "https://oauth2.googleapis.com/token", "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", "client_secret": "your-client-secret", "redirect_uris": ["http://127.0.0.1:8000/social/callback/YT/"] } } ```