Offline-Bildanzeige Twitch WP-Plug-in
P粉391677921
2023-07-26 16:40:51
<p>Ich schreibe ein Twitch-WordPress-Status-Plugin, das ein einfaches Bild anzeigt, wenn Twitch online oder offline ist, aber ich bekomme es nicht zum Laufen. Das Folgende ist der Inhalt der Datei: </p>
<pre class="brush:php;toolbar:false;"><?php
/*
Plugin-Name: Twitch-Status – InvidiousAus
Beschreibung: Zeigt ein Bild an, wenn der Twitch-Kanal „invidiousaus“ online ist.
Autor: Ihr Name
Version: 1.0
*/
Funktion smfr_twitch_get_stream_status($channel) {
$client_id = 'we57gvgtlmhqnmk44d3mcbc68rgrd1'; // Ersetzen Sie es durch Ihre Twitch-API-Client-ID
$api_url = "https://api.twitch.tv/helix/streams?user_login={$channel}";
$headers = array(
'Client-ID' => $client_id,
);
$args = array(
'headers' => $headers,
);
$response = wp_remote_get($api_url, $args);
if (is_wp_error($response)) {
return „Fehler beim Abrufen des Twitch-Status.“;
}
$response_code = wp_remote_retrieve_response_code($response);
if ($response_code === 200) {
$body = wp_remote_retrieve_body($response);
$data = json_decode($body, true);
if (!empty($data['data'])) {
Rückkehr 'online';
}
}
Rückkehr 'offline';
}
Funktion smfr_twitch_status_fnc() {
$channel = 'invidiousaus'; // Update auf „invidiousaus“
$stream_status = smfr_twitch_get_stream_status($channel);
if ($stream_status === 'online') {
// Wenn der Kanal live ist, zeige das „Online“-Bild
$html = "<div class='smfr-twitch-status'><img src='" .
} anders {
// Wenn der Kanal offline ist, zeige das „Offline“-Bild
$html = "<div class='smfr-twitch-status'><img src='" .
}
return $html;
}
Funktion smfr_twitch_status_style() {
// Registrieren Sie das Stylesheet für das Plugin (falls erforderlich)
// wp_enqueue_style('smfr_twitch_status_style',plugin_dir_url(__FILE__) . 'style.css');
}
add_action('wp_enqueue_scripts', 'smfr_twitch_status_style');
add_shortcode('smfr_twitch_status', 'smfr_twitch_status_fnc');</pre>
<p>Versucht, verschiedene API-Endpunkte zu verwenden, aber leere Ergebnisse erhalten. </p><p>Das gewünschte Ergebnis ist die Anzeige von Kanälen, die auf twitch.tv online sind. </p><p><br /></p>
你的$headers缺少Authorization: Bearer 2gbdx6oar67tqtcmt49t3wpcgycthx或类似的令牌。
根据https://dev.twitch.tv/docs/api/reference/#get-streams的文档,Authorization需要一个应用访问令牌或用户访问令牌。
阅读文档以了解如何获取这样的令牌。这可能是oAuth流程。基本上,你需要创建一个应用程序,然后获得client_id和client_secret。使用client_secret请求令牌。一旦获得令牌,你可以将其添加到头部,然后代表你的应用使用API。(用户访问令牌可能有不同的流程)。