Upload file get-channel-id.php via GUI

This commit is contained in:
2026-03-29 22:27:57 +02:00
parent 21d9e0f56c
commit 5e087bb07a

View File

@@ -0,0 +1,98 @@
<?php
/**
* Hilfsskript: Finde Channel-ID für einen @Handle
* Verwendet direkt die YouTube API (ohne WordPress)
*/
// API Key aus wp-config.php lesen
$wp_config_path = __DIR__ . '/../../../wp-config.php';
$api_key = '';
if ( file_exists( $wp_config_path ) ) {
$wp_config_content = file_get_contents( $wp_config_path );
// Versuche YOUTUBE_API_KEY zu finden
if ( preg_match( "/define\s*\(\s*['\"]YOUTUBE_API_KEY['\"]\s*,\s*['\"]([^'\"]+)['\"]/", $wp_config_content, $matches ) ) {
$api_key = $matches[1];
}
}
// Fallback: Direkte Eingabe hier (NUR FÜR TESTS!)
if ( empty( $api_key ) ) {
// TEMPORÄR: Trage hier deinen API Key ein
$api_key = 'AIzaSyD-jSXZO-R4NJBySF0WL6SoFJmBDk2Gdbk'; // ← Dein API Key aus dem Customizer
}
if ( ! isset( $argv[1] ) ) {
echo "Verwendung: php get-channel-id.php @DeinHandle\n";
echo "Beispiel: php get-channel-id.php @afartv\n";
exit(1);
}
$handle = $argv[1];
if ( empty( $api_key ) ) {
echo "❌ Kein YouTube API Key gefunden!\n";
echo " Trage den API Key temporär in Zeile 19 ein ODER\n";
echo " Definiere YOUTUBE_API_KEY in wp-config.php\n";
exit(1);
}
// @ entfernen falls vorhanden
$handle = ltrim( $handle, '@' );
echo "=== Channel-ID Abfrage ===\n\n";
echo "Handle: @$handle\n";
echo "API Key: " . substr($api_key, 0, 10) . "... (" . strlen($api_key) . " chars)\n\n";
// YouTube Data API v3: search.list
$search_url = 'https://www.googleapis.com/youtube/v3/search?' . http_build_query( array(
'part' => 'snippet',
'q' => '@' . $handle,
'type' => 'channel',
'key' => $api_key,
) );
echo "Sende API-Anfrage...\n";
$context = stream_context_create( array(
'http' => array(
'timeout' => 10,
),
) );
$response = file_get_contents( $search_url, false, $context );
if ( $response === false ) {
echo "❌ API-Anfrage fehlgeschlagen\n";
exit(1);
}
$data = json_decode( $response, true );
if ( isset( $data['error'] ) ) {
echo "❌ YouTube API Fehler:\n";
echo " Code: " . $data['error']['code'] . "\n";
echo " Nachricht: " . $data['error']['message'] . "\n";
exit(1);
}
if ( empty( $data['items'] ) ) {
echo "❌ Kein Kanal gefunden für @$handle\n";
echo " Versuche es mit einem anderen @Handle oder mit der vollständigen Kanal-URL.\n";
exit(1);
}
$channel = $data['items'][0];
$channel_id = $channel['id']['channelId'];
$channel_title = $channel['snippet']['title'];
echo "\n✅ Kanal gefunden!\n\n";
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n";
echo "Kanal-Titel: $channel_title\n";
echo "Channel-ID: $channel_id\n";
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n\n";
echo "📋 Kopiere diese Channel-ID in dein Livestream-Post:\n";
echo " Livestreams → Bearbeiten → YouTube Kanal-ID: $channel_id\n\n";
echo "✅ Fertig!\n";