Paparan gambar luar talian pemalam Twitch WP
P粉391677921
2023-07-26 16:40:51
<p>Saya sedang menulis pemalam status Twitch WordPress yang memaparkan imej mudah jika Twitch berada dalam talian atau luar talian, tetapi saya tidak dapat membuatnya berfungsi. Berikut ialah kandungan fail: </p>
<pre class="brush:php;toolbar:false;"><?php
/*
Nama Pemalam: Status Twitch - InvidiousAus
Penerangan: Memaparkan imej jika saluran Twitch "invidiousus" berada dalam talian.
Pengarang: Nama Anda
Versi: 1.0
*/
fungsi smfr_twitch_get_stream_status($channel) {
$client_id = 'we57gvgtlmhqnmk44d3mcbc68rgrd1'; // Gantikan dengan ID Pelanggan API Twitch anda
$api_url = "https://api.twitch.tv/helix/streams?user_login={$channel}";
$headers = array(
'Client-ID' => $client_id,
);
$args = array(
'headers' => $headers,
);
$respons = wp_remote_get($api_url, $args);
if (is_wp_error($response)) {
kembali "Ralat mengambil status Twitch.";
}
$kod_tindak balas = wp_remote_retrieve_response_code($respons);
if ($respon_code === 200) {
$body = wp_remote_retrieve_body($respons);
$data = json_decode($body, true);
jika (!kosong($data['data'])) {
kembali 'dalam talian';
}
}
kembali 'luar talian';
}
fungsi smfr_twitch_status_fnc() {
$channel = 'invidiousaus'; // Kemas kini kepada "invidiousaus"
$status_stream = smfr_twitch_get_stream_status($channel);
if ($status_stream === 'dalam talian') {
// Jika saluran disiarkan secara langsung, tunjukkan imej "dalam talian".
$html = "<div class='smfr-twitch-status'><img src='" .
} lain {
// Jika saluran di luar talian, tunjukkan imej "luar talian".
$html = "<div class='smfr-twitch-status'><img src='" .
}
pulangkan $html;
}
fungsi smfr_twitch_status_style() {
// Daftarkan lembaran gaya untuk pemalam (jika perlu)
// 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>Cuba menggunakan titik akhir API yang berbeza tetapi mendapat hasil kosong. </p><p>Hasil yang diingini ialah untuk memaparkan saluran yang berada dalam talian di twitch.tv. </p><p><br /></p>
$header anda tiada Kebenaran: Pembawa 2gbdx6oar67tqtcmt49t3wpcgycthx atau token serupa.
Menurut dokumentasi di https://dev.twitch.tv/docs/api/reference/#get-streams, Kebenaran memerlukan token akses apl atau token akses pengguna.
Baca dokumentasi untuk mengetahui cara mendapatkan token sedemikian. Ini mungkin aliran oAuth. Pada asasnya, anda perlu membuat aplikasi dan kemudian dapatkan client_id dan client_secret. Gunakan client_secret untuk meminta token. Sebaik sahaja anda mempunyai token, anda boleh menambahkannya pada pengepala dan kemudian menggunakan API bagi pihak apl anda. (Mungkin terdapat aliran berbeza untuk token akses pengguna).