Я пытаюсь получить все измененные строки, которые пользователь сделал на своей учетной записи Github.Я сделал небольшой PHP-скрипт с некоторыми циклами foreach ().Проблема в том, что я каждый раз получаю ошибку 403 от Github API.
Я уже пытался изменить заголовок.Я делал это:
$get_options = array('http' => array('user_agent' => 'Dev-Purpose'));
$context = stream_context_create($options);
$jsonurl = "https://api.github.com/users/" . $github_user . "/repos";
$json = file_get_contents($jsonurl, false, $context);
Поэтому я перешел на это:
$get_options = [
'http' => [
'method' => 'GET',
'header' => [
'User-Agent: Gabyfle'
]
]
];
$context = stream_context_create($get_options);
$jsonurl = "https://api.github.com/users/" . $github_user . "/repos";
$json = file_get_contents($jsonurl, false, $context);
Но это не решило проблему.Я все еще получаю эту ошибку 403.
Я делаю это, чтобы получать все измененные строки из учетной записи Github:
foreach ($repositeries as $id => $value) {
$repo_name = $value["name"];
$jsonurl = "https://api.github.com/repos/" . $github_user . "/" . $repo_name . "/commits";
$json = file_get_contents($jsonurl, false, $context);
$commits = json_decode($json, true);
foreach ($commits as $id => $value) {
$sha = $value["sha"];
$jsonurl = "https://api.github.com/repos/" . $github_user . "/" . $repo_name . "/commits/" . $sha;
$json = file_get_contents($jsonurl, false, $context);
$datas = json_decode($json, true);
/* Adding lines to vars */
$totalLines = $totalLines + $datas["stats"]["total"];
$addedLines = $addedLines + $datas["stats"]["additions"];
$deletedLines = $deletedLines + $datas["stats"]["deletions"];
}
}
Ожидаемые результаты - это все статистические данные из API Github Commits.Когда я впервые запустил скрипт, сработали самые первые циклы, и я получил что-то вроде 195 для $totalLines
.Но после просмотра моего локального PHP-сервера я обнаружил 403 ошибки для других циклов.
Кто-нибудь знает, как я могу это исправить, чтобы я мог получать все измененные строки из определенной учетной записи Github?
Большое спасибо за ваше время, Gabyfle.