Получить данные Imgur JSON с URL

Я смотрю на imgur API и пытаюсь получить данные imgur JSON с помощью следующего метода API:

https://api.imgur.com/models/image

Я уже зарегистрировал свой идентификатор клиента, но не знаю, как получить данные JSON из URL https://api.imgur.com/3/image/{id} (учитывая удостоверение личности).

Как бы я получил эти данные, используя cURL и PHP?

Вот что я попробовал, но это, очевидно, не работает:

function getImageData() {
$client_id = "<CLIENT_ID>";

$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,'https://api.imgur.com/3/image/SbBGk');
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Client-ID ' . $client_id));
curl_exec($ch);
$lastUrl = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);
curl_close($ch);

return $lastUrl;
}

0

Решение

Это вернет данные.

function getImageData() {
$client_id = "<CLIENT_ID>";

$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,'https://api.imgur.com/3/image/SbBGk');
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Client-ID ' . $client_id));
$result = curl_exec($ch);
curl_close($ch);

return $result;
}

Чтобы получить идентификатор изображения или галереи, вам нужно проанализировать URL с помощью регулярного выражения. Я плохо разбираюсь в регулярных выражениях, но это должно вам помочь. Я уверен, что есть лучшее решение для этого.

preg_match('#(http(s)?:\/\/(www.|i.)?imgur.com)\/(?!a)(gallery\/)?(([-|~_0-9A-Za-z]+)&?.*?)#i', $link, $matches);
$id = $matches[6];
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]