我是 php 的新手,我正在尝试使用 imgur API(我的代码基于几个教程)我正在尝试做的是从 imgur 获取图像并将其显示在网页上。所以我正在使用这段代码
<?php
$client_id = '<ID>';
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,'https://api.imgur.com/3/image/rnXusiA');
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);
$json = json_decode($result, true);
?>
将 $result
转换为关联数组后,我正在尝试访问数据
$data = $json->data->link;
但是 $data
中没有任何内容,我收到了 Trying to get property of non-object
错误。我假设 imgur 没有返回任何数据。那我做错了什么?
最佳答案
我阅读了有关 curl
的更多信息并重写了代码。
<?php
$client_id = "<ID>";
$c_url = curl_init();
curl_setopt($c_url, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($c_url, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c_url, CURLOPT_URL,"https://api.imgur.com/3/image/rnXusiA");
curl_setopt($c_url, CURLOPT_HTTPHEADER, array('Authorization: Client-ID ' . $client_id));
$result=curl_exec($c_url);
curl_close($c_url);
$json_array = json_decode($result, true);
var_dump($json_array);
?>
这 wokred 和 var_dump($json_array);
显示了数组内容。
$json_array['data']['link'];
给出图像的直接链接。
对于相册,我将 URL 更改为 https://api.imgur.com/3/album/y1dZJ
并使用循环获取图像链接
$image_array = $json_array["data"]["images"];
foreach ($image_array as $key => $value) {
echo $value["link"];
}
我希望这对 imgur API 的新手有所帮助。
关于php - 使用 Imgur API 和 PHP 获取图像数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30554497/