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

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

最佳答案

我阅读了有关 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/

相关文章:

php - 无法在 PHP 页面上显示来自多个表的数据

Jquery 获取 JSON 数据

Javascript-如何遍历无效的 JSON

excel - 在Excel VBA中查找外部显示器的大小

api - 尝试发布到 API 时,我得到 "status": 400 error in Flutter

php - 解析 JSON : unexpected character

php - 使用数组条目值作为键的更聪明的方法

javascript - 在此ajax表单中将加载图标放在哪里请有人告诉我吗?

json - Grails将LinkedHashMap转换为RoundTrip上的JSON保留顺序

php - 将表单重定向到另一个页面而不是 API