GitHub API 提交

GitHub API commits

这里有人知道如何使用 GitHub API 吗? 我正在尝试 table 检索所有存储库提交 (https://api.github.com/repos/RubeVi/Fenix/commits)。只想显示 sha,但看起来我的代码是错误的

<?php
$json = file_get_contents("https://api.github.com/repos/RubeVi/Fenix/commits");
$obj = json_decode($json, true);
?>
<table>
<?php foreach ($obj as $o) { ?>
    <tr>
        <td><?php echo $o["sha"]; ?></td>
        <td><?php echo $o["commit"]["author"]["name"]; ?></td>
        <td><?php echo $o["commit"]["author"]["email"]; ?></td>
        <td><?php echo $o["commit"]["message"]; ?></td>
    </tr>
<?php } ?>
</table>

这是您所期待的吗?

如果是这样,这样也比较容易看:

<?php
$opts = ['http' => ['method' => 'GET', 'header' => ['User-Agent: PHP']]];
$context = stream_context_create($opts);
$json = file_get_contents("https://api.github.com/repos/RubeVi/Fenix/commits", false, $context);
$obj = json_decode($json, true);
?>
<table>
<?php foreach ($obj as $o) { ?>
    <tr>
        <td><?php echo $o["sha"]; ?></td>
        <td><?php echo $o["commit"]["author"]["name"]; ?></td>
        <td><?php echo $o["commit"]["author"]["email"]; ?></td>
        <td><?php echo $o["commit"]["message"]; ?></td>
    </tr>
<?php } ?>
</table>

使用以下方法解决了问题: