В настоящее время я пишу небольшую базу данных git-повторов, и мне интересно, как я смогу получить дату последнего коммита, если у меня есть повтор в списке в моей базе данных.
Я никогда не работал с github API, и мне было немного трудно обдумать его.
Если бы кто-нибудь мог помочь мне понять это, я был бы очень признателен. PHP или JS предпочтительно, так как все примеры, которые я нашел, были в ruby.
Если бы вы использовали PHP как ваш пример, Я бы использовал cURL
вместо file_get_contents
, как вам нужно настроить -разрешение URL-Еореп.
GitHub также требует, чтобы вы отправили user-agent
в шапке: https://developer.github.com/v3/#user-agent-required
Например, ваш код PHP будет выглядеть так:
$objCurl = curl_init();
//The repo we want to get
curl_setopt($objCurl, CURLOPT_URL, "https://api.github.com/repos/google/blueprint/commits");
//To comply with https://developer.github.com/v3/#user-agent-required
curl_setopt($objCurl, CURLOPT_USERAGENT, "StackOverflow-29845346");
//Skip verification (kinda insecure)
curl_setopt($objCurl, CURLOPT_SSL_VERIFYPEER, false);
//Get the response
$response = curl_exec($objCurl);
print_r( json_decode($response, true) );
Замечания: Вы сможете продолжить использовать file_get_contents
и отправить user-agent
заголовок. Увидеть этот ответ
Старый вопрос, но я хотел бы отметить (по крайней мере, с API v3), вы можете использовать API ветвей, чтобы получить последнюю дату фиксации для конкретной ветви. Я полагаю, в вашем случае вы заинтересованы в мастере.
Который будет выглядеть так:
https://api.github.com/repos/:owner/:repo/branches/master