简体   繁体   中英

Github API JSON Call returning nothing in PHP

I'm trying to get the data from this Api call with the Github Api. However whenever I try and get the data from it I get the below error. I cannot seem to figure out why this isn't working.

I'm running it on a localhost through PhpStorm.

Code:

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

Error:

[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

There are few errors:

  • no need to urlencode the url
  • you need to create context
  • you need to print_r , var_export etc instead of echo to print content of an array.

This should do the job:

$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);

You are url encoding the whole URI, file_get_contents expect a valid http URI :

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM