使用Imgur API和PHP获取图像数据

时间:2015-05-31 06:20:06

标签: php json api curl imgur

我对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没有返回任何数据。那么我做错了什么?

1 个答案:

答案 0 :(得分:1)

我阅读了有关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);
?>

这已经过了,var_dump($json_array);显示了数组内容。

$json_array['data']['link'];提供了与图片的直接链接。

对于相册,我将网址更改为https://api.imgur.com/3/album/y1dZJ并使用循环来获取图片链接

$image_array = $json_array["data"]["images"];

foreach ($image_array as $key => $value) {
    echo $value["link"];
}

我希望这可以帮助任何对imgur API不熟悉的人。