This commit is contained in:
salvacybersec
2025-11-13 04:19:56 +03:00
parent 2dc0eb8b19
commit c677983aa7

30
API.md
View File

@@ -87,7 +87,7 @@ YouTube kanalı için transcript feed'i oluşturur.
| `channel` | string | ⚠️* | Channel handle (@username veya username) |
| `channel_url` | string | ⚠️* | Full YouTube channel URL |
| `format` | string | ❌ | Feed formatı: `Atom` (varsayılan) veya `Rss` |
| `max_items` | integer | ❌ | Maksimum video sayısı (varsayılan: 50, max: 500) |
| `max_items` | integer | ❌ | Maksimum transcript sayısı (varsayılan: 10, max: 100, 20'şer batch'ler halinde işlenir) |
\* `channel_id`, `channel` veya `channel_url` parametrelerinden biri zorunludur.
@@ -104,7 +104,7 @@ curl -H "X-API-Key: demo_key_12345" \
# Channel URL ile
curl -H "X-API-Key: demo_key_12345" \
"http://localhost:5000/?channel_url=https://www.youtube.com/@tavakfi&format=Atom&max_items=100"
"http://localhost:5000/?channel_url=https://www.youtube.com/@tavakfi&format=Atom&max_items=50"
# Query parametresi ile API key
curl "http://localhost:5000/?channel_id=UC9h8BDcXwkhZtnqoQJ7PggA&api_key=demo_key_12345&format=Rss"
@@ -160,7 +160,7 @@ curl "http://localhost:5000/?channel_id=UC9h8BDcXwkhZtnqoQJ7PggA&api_key=demo_ke
"channel": "@username veya username",
"channel_url": "https://www.youtube.com/@username veya https://www.youtube.com/channel/UC...",
"format": "Atom veya Rss (varsayılan: Atom)",
"max_items": "Maksimum video sayısı (varsayılan: 50)"
"max_items": "Maksimum transcript sayısı (varsayılan: 10, maksimum: 100, 20'şer batch'ler halinde işlenir)"
}
}
```
@@ -245,12 +245,12 @@ curl -H "X-API-Key: demo_key_12345" "http://localhost:5000/info"
"channel": "@username veya username",
"channel_url": "Full YouTube channel URL",
"format": "Atom veya Rss (varsayılan: Atom)",
"max_items": "Maksimum video sayısı (varsayılan: 50)"
"max_items": "Maksimum transcript sayısı (varsayılan: 10, maksimum: 100, 20'şer batch'ler halinde işlenir)"
},
"examples": [
"/?channel_id=UC9h8BDcXwkhZtnqoQJ7PggA&format=Atom",
"/?channel=@tavakfi&format=Rss",
"/?channel_url=https://www.youtube.com/@tavakfi&format=Atom&max_items=100"
"/?channel_url=https://www.youtube.com/@tavakfi&format=Atom&max_items=50"
]
}
```
@@ -313,8 +313,10 @@ Sadece aşağıdaki formatlar kabul edilir:
- Tip: Integer
- Minimum: 1
- Maksimum: 500
- Varsayılan: 50
- Maksimum: 100
- Varsayılan: 10
- **Batch İşleme**: 20'şer batch'ler halinde işlenir (YouTube IP blocking önleme için)
- **Veritabanı Kaydı**: Her batch işlendikten sonra hemen veritabanına kaydedilir, böylece sonraki sorgularda görülebilir
## CORS
@@ -392,7 +394,7 @@ API_KEY="demo_key_12345"
CHANNEL_ID="UC9h8BDcXwkhZtnqoQJ7PggA"
curl -H "X-API-Key: $API_KEY" \
"http://localhost:5000/?channel_id=$CHANNEL_ID&format=Atom&max_items=10"
"http://localhost:5000/?channel_id=$CHANNEL_ID&format=Atom&max_items=50"
```
## Notlar
@@ -401,12 +403,22 @@ curl -H "X-API-Key: $API_KEY" \
2. **Rate Limiting**: Her API key için farklı rate limit tanımlanabilir. Limit aşıldığında 60 saniye beklemeniz gerekir.
3. **Transcript İşleme**: Transcript'ler arka planda asenkron olarak işlenir. Yeni videolar için birkaç dakika gecikme olabilir.
3. **Transcript İşleme**:
- Transcript'ler 20'şer batch'ler halinde işlenir (YouTube IP blocking önleme için)
- Her batch işlendikten sonra veritabanına kaydedilir
- `max_items` parametresi ile her istekte işlenecek transcript sayısını kontrol edebilirsiniz (maksimum 100)
- Batch'ler arası 2 saniye bekleme süresi vardır
- Yeni videolar için birkaç dakika gecikme olabilir
4. **Format Seçimi**: Atom formatı daha modern ve önerilir. RSS formatı eski RSS reader'lar için uygundur.
5. **API Key Güvenliği**: API key'lerinizi güvenli tutun ve asla public repository'lere commit etmeyin.
6. **Batch İşleme Örneği**:
- `max_items=50` isteği: 20+20+10 batch'ler halinde işlenir
- Her batch tamamlandığında veritabanına kaydedilir
- Sonraki sorgularda tüm işlenmiş transcript'ler görülebilir
## Destek
Sorularınız için GitHub Issues kullanabilirsiniz.