HH/apps/social/setup_docs/youtube.md
2026-04-19 10:53:12 +03:00

123 lines
3.7 KiB
Markdown

# 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/"]
}
}
```