168 lines
4.0 KiB
Markdown
168 lines
4.0 KiB
Markdown
# YouTube Routing Reference
|
|
|
|
**App name:** `youtube`
|
|
**Base URL proxied:** `www.googleapis.com`
|
|
|
|
## API Path Pattern
|
|
|
|
```
|
|
/youtube/youtube/v3/{resource}
|
|
```
|
|
|
|
## Common Endpoints
|
|
|
|
### Search Videos
|
|
```bash
|
|
GET /youtube/youtube/v3/search?part=snippet&q=coding+tutorial&type=video&maxResults=10
|
|
```
|
|
|
|
Query parameters:
|
|
- `part` - Required: `snippet`
|
|
- `q` - Search query
|
|
- `type` - Filter: `video`, `channel`, `playlist`
|
|
- `maxResults` - Results per page (1-50)
|
|
- `order` - Sort: `date`, `rating`, `relevance`, `title`, `viewCount`
|
|
- `videoDuration` - `short` (<4min), `medium` (4-20min), `long` (>20min)
|
|
|
|
### Get Video Details
|
|
```bash
|
|
GET /youtube/youtube/v3/videos?part=snippet,statistics,contentDetails&id={videoId}
|
|
```
|
|
|
|
Parts available: `snippet`, `statistics`, `contentDetails`, `status`, `player`
|
|
|
|
### Get Trending Videos
|
|
```bash
|
|
GET /youtube/youtube/v3/videos?part=snippet,statistics&chart=mostPopular®ionCode=US&maxResults=10
|
|
```
|
|
|
|
### Rate Video
|
|
```bash
|
|
POST /youtube/youtube/v3/videos/rate?id={videoId}&rating=like
|
|
```
|
|
|
|
Rating values: `like`, `dislike`, `none`
|
|
|
|
### Get My Channel
|
|
```bash
|
|
GET /youtube/youtube/v3/channels?part=snippet,statistics,contentDetails&mine=true
|
|
```
|
|
|
|
### Get Channel Details
|
|
```bash
|
|
GET /youtube/youtube/v3/channels?part=snippet,statistics&id={channelId}
|
|
```
|
|
|
|
### List My Playlists
|
|
```bash
|
|
GET /youtube/youtube/v3/playlists?part=snippet,contentDetails&mine=true&maxResults=25
|
|
```
|
|
|
|
### Create Playlist
|
|
```bash
|
|
POST /youtube/youtube/v3/playlists?part=snippet,status
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"snippet": {
|
|
"title": "My New Playlist",
|
|
"description": "A collection of videos"
|
|
},
|
|
"status": {
|
|
"privacyStatus": "private"
|
|
}
|
|
}
|
|
```
|
|
|
|
Privacy values: `public`, `private`, `unlisted`
|
|
|
|
### Delete Playlist
|
|
```bash
|
|
DELETE /youtube/youtube/v3/playlists?id={playlistId}
|
|
```
|
|
|
|
### List Playlist Items
|
|
```bash
|
|
GET /youtube/youtube/v3/playlistItems?part=snippet,contentDetails&playlistId={playlistId}&maxResults=50
|
|
```
|
|
|
|
### Add Video to Playlist
|
|
```bash
|
|
POST /youtube/youtube/v3/playlistItems?part=snippet
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"snippet": {
|
|
"playlistId": "PLxyz123",
|
|
"resourceId": {
|
|
"kind": "youtube#video",
|
|
"videoId": "abc123xyz"
|
|
},
|
|
"position": 0
|
|
}
|
|
}
|
|
```
|
|
|
|
### List My Subscriptions
|
|
```bash
|
|
GET /youtube/youtube/v3/subscriptions?part=snippet&mine=true&maxResults=50
|
|
```
|
|
|
|
### Subscribe to Channel
|
|
```bash
|
|
POST /youtube/youtube/v3/subscriptions?part=snippet
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"snippet": {
|
|
"resourceId": {
|
|
"kind": "youtube#channel",
|
|
"channelId": "UCxyz123"
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
### List Video Comments
|
|
```bash
|
|
GET /youtube/youtube/v3/commentThreads?part=snippet,replies&videoId={videoId}&maxResults=100
|
|
```
|
|
|
|
### Add Comment to Video
|
|
```bash
|
|
POST /youtube/youtube/v3/commentThreads?part=snippet
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"snippet": {
|
|
"videoId": "abc123xyz",
|
|
"topLevelComment": {
|
|
"snippet": {
|
|
"textOriginal": "Great video!"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
## Notes
|
|
|
|
- Video IDs are 11 characters (e.g., `dQw4w9WgXcQ`)
|
|
- Channel IDs start with `UC` (e.g., `UCxyz123`)
|
|
- Playlist IDs start with `PL` (user) or `UU` (uploads)
|
|
- Use `pageToken` for pagination through large result sets
|
|
- The `part` parameter is required and determines what data is returned
|
|
- Quota costs vary by endpoint - search is expensive (100 units), reads are cheap (1 unit)
|
|
|
|
## Resources
|
|
|
|
- [YouTube Data API Overview](https://developers.google.com/youtube/v3)
|
|
- [Search](https://developers.google.com/youtube/v3/docs/search/list)
|
|
- [Videos](https://developers.google.com/youtube/v3/docs/videos)
|
|
- [Channels](https://developers.google.com/youtube/v3/docs/channels)
|
|
- [Playlists](https://developers.google.com/youtube/v3/docs/playlists)
|
|
- [PlaylistItems](https://developers.google.com/youtube/v3/docs/playlistItems)
|
|
- [Subscriptions](https://developers.google.com/youtube/v3/docs/subscriptions)
|
|
- [Comments](https://developers.google.com/youtube/v3/docs/comments)
|
|
- [Quota Calculator](https://developers.google.com/youtube/v3/determine_quota_cost)
|