離線圖片展示Twitch WP插件
P粉391677921
P粉391677921 2023-07-26 16:40:51
0
1
551
<p>我正在編寫一個Twitch WordPress狀態插件,如果Twitch在線或離線,它會顯示一個簡單的圖片,但是我無法使其工作。以下是文件內容:</p> <pre class="brush:php;toolbar:false;"><?php /* Plugin Name: Twitch Status - InvidiousAus Description: Displays an image if the Twitch channel "invidiousaus" is online. Author: Your Name Version: 1.0 */ function smfr_twitch_get_stream_status($channel) { $client_id = 'we57gvgtlmhqnmk44d3mcbc68rgrd1'; // Replace with your 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 "Error fetching 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'])) { return 'online'; } } return 'offline'; } function smfr_twitch_status_fnc() { $channel = 'invidiousaus'; // Update to "invidiousaus" $stream_status = smfr_twitch_get_stream_status($channel); if ($stream_status === 'online') { // If the channel is live, show the "online" image $html = "<div class='smfr-twitch-status'><img src='" . plugin_dir_url(__FILE__) . "img/en_ligne.jpg'></div>"; } else { // If the channel is offline, show the "offline" image $html = "<div class='smfr-twitch-status'><img src='" . plugin_dir_url(__FILE__) . "img/hors_ligne.jpg'></div>"; } return $html; } function smfr_twitch_status_style() { // Register the stylesheet for the plugin (if needed) // 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>嘗試使用不同的API端點,但結果為空。 </p><p>期望的結果是顯示在twitch.tv上線上的頻道。 </p><p><br /></p>
P粉391677921
P粉391677921

全部回覆(1)
P粉832490510

你的$headers缺少Authorization: Bearer 2gbdx6oar67tqtcmt49t3wpcgycthx或類似的令牌。

根據https://dev.twitch.tv/docs/api/reference/#get-streams的文檔,Authorization需要一個應用存取權杖或使用者存取權杖。

閱讀文件以了解如何取得這樣的令牌。這可能是oAuth流程。基本上,你需要建立一個應用程序,然後獲得client_id和client_secret。使用client_secret請求令牌。一旦獲得令牌,你可以將其添加到頭部,然後代表你的應用程式使用API​​。 (使用者存取權杖可能有不同的流程)。


熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!