Github API JSON调用在PHP中没有返回任何内容

时间:2017-03-26 00:01:28

标签: php json github github-api

我正在尝试使用Github Api从此Api调用中获取数据。但是,每当我尝试从中获取数据时,我都会收到以下错误。我似乎无法弄清楚为什么这不起作用。

我是通过PhpStorm在本地主机上运行它。

代码:

$url = urlencode("https://api.github.com/users/devinmatte/repos");
$json = file_get_contents($url);
$obj = json_decode($json);
echo $obj;

错误:

[Sat Mar 25 20:02:14 2017] PHP Warning:  file_get_contents(https%3A%2F%2Fapi.github.com%2Fusers%2Fdevinmatte%2Frepos): failed to open stream: No such file or directory in /home/devin-matte/Documents/Git-Challenge/index.php on line 13

2 个答案:

答案 0 :(得分:4)

错误很少:

  • 无需urlencode网址
  • 您需要创建上下文
  • 您需要print_rvar_export等而不是echo来打印数组内容。

这应该做的工作:

$url = "http://api.github.com/users/devinmatte/repos";
$opts = [
    'http' => [
        'method' => 'GET',
        'header' => [
                'User-Agent: PHP'
        ]
    ]
];

$json = file_get_contents($url, false, stream_context_create($opts));
$obj = json_decode($json);
var_dump($obj);

答案 1 :(得分:2)

您正在对整个URI进行网址编码,file_get_contents期待 一个有效的http URI:

$json = file_get_contents("https://api.github.com/users/devinmatte/repos");
$obj = json_decode($json);
var_dump($obj);