【问题标题】:Getting Twitch clip data via Twitch API and php通过 Twitch API 和 php 获取 Twitch 剪辑数据
【发布时间】:2017-03-05 13:24:59
【问题描述】:

我正在尝试获取某些 Twitch 剪辑的数据,例如这个 https://clips.twitch.tv/MushyJollyWalrusUWot

$videosApi = 'https://api.twitch.tv/kraken/clips/savjz/MushyJollyWalrusUWot';
$clientId = 'my client id';
$ch = curl_init();

curl_setopt_array($ch, array(
    CURLOPT_HTTPHEADER => array(
        'Client-ID: ' . $clientId
    ),
    CURLOPT_SSL_VERIFYPEER => false,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_URL => $videosApi
));

$response = curl_exec($ch);
curl_close($ch);

$json = json_decode($response, TRUE);

print_r($json);

我收到一个包含 404 错误的数组,但此代码可以与其他 Twitch api 内容一起正常工作,例如 Twitch vod:

$videosApi = 'https://api.twitch.tv/kraken/videos/125820676';
//the rest is same

【问题讨论】:

    标签: php curl twitch


    【解决方案1】:

    就像我在视频中发现的那样,剪辑是通过他们的名字来寻址的,所以我从你的例子中删除了用户名。

    我最终使用了这个 URL https://api.twitch.tv/kraken/clips/MushyJollyWalrusUWot,它成功返回了一个包含剪辑信息的稍大的 JSON blob,我将它保存在这个 URL:PasteBin - "SO Answer - Getting Twitch clip data via Twitch API and php"

    我曾经能够查询一些基本 URL,例如 https://api.twitch.tv/kraken/,以便查看可用资源列表,从那时起我可以通过连续添加到路径来查询这些资源,但 /kraken/kraken/ 根提供用户信息,/kraken/base 似乎不是有效资源。

    从 shell 访问它的 API 文档似乎在这里:Twitch Developers - Twitch API Overview

    顺便说一句,我刚刚使用了 shell,可能必须同时提供一个客户端 ID 和一个具有 user_read 范围的 OAuth 令牌。我按照本指南处理我的重复情况:GitHub - raine/twitch-cli - Setup。 它不是 PHP,因此我没有详细查看您的代码,但其中一些步骤可能会帮助您解决概念上的故障。

    【讨论】:

      【解决方案2】:

      只需添加您的密钥

      参数(可选):

      限制=10

      game=守望先锋

      趋势=真

          //set header for pretty print
          header('Content-Type: application/json');
          $videosApi = 'https://api.twitch.tv/kraken/clips/top?limit=100&channel=ratirl';
          $clientId = 'secret app id provided by twitch';
          $ch = curl_init();
      
          curl_setopt_array($ch, array(
          CURLOPT_HTTPHEADER => array(
      //standard api requirement from twitch api headers
          'Accept: application/vnd.twitchtv.v5+json',
          'Client-ID: ' . $clientId
          ),
          CURLOPT_SSL_VERIFYPEER => false,
          CURLOPT_RETURNTRANSFER => true,
          CURLOPT_URL => $videosApi
          ));
      
          $response = curl_exec($ch);
          curl_close($ch);
          //decode the response
          $json = json_decode($response, JSON_PRETTY_PRINT);
          //print response
          print_r($json);
      

      【讨论】:

      • 虽然这可能是解决问题的宝贵提示,但一个好的答案也可以证明解决方案。请EDIT 提供示例代码来说明您的意思。或者,考虑将其写为评论
      • 我希望您现在了解解决方案
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-10-10
      • 2015-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多