解析Google Images API Json PHP

时间:2011-04-17 16:14:09

标签: php json

嘿,我正在尝试使用PHP的谷歌图片API,我真的不知道该怎么做。

这基本上就是我现在所拥有的:

$jsonurl = "https://ajax.googleapis.com/ajax/services/search/images?v=1.0&q=test";
$json = file_get_contents($jsonurl,0,null,null);
$json_output = json_decode($json);

我从那里去哪里检索第一张图片网址?

3 个答案:

答案 0 :(得分:10)

对代码示例的最后一行稍作更改,以下内容将输出结果集中第一个图像的网址。

<?php
$jsrc = "https://ajax.googleapis.com/ajax/services/search/images?v=1.0&q=test";
$json = file_get_contents($jsrc);
$jset = json_decode($json, true);
echo $jset["responseData"]["results"][0]["url"];
?>

答案 1 :(得分:2)

出于安全原因,大多数服务器配置都不允许您在远程文件(不同的域名)上使用file_get_contents。它可能允许黑客从Internet上的任何地方加载代码到您的站点,然后执行它。

即使您的服务器配置允许,我也不建议将其用于此目的。用于检索远程HTTP数据的标准工具是cURLplenty good tutorials的{{3}}正在完成您在这种情况下应该执行的操作。

所以,假设您已成功使用cURL来检索JSON数组。

$json_output = json_decode($json); // Now the JSON is an associative array

foreach ($json_output['responseData']['results'] as $result)
{
    echo $result['url'] . '<br />';
}

当然,你不必回复那里的URL;你可以用价值做任何你需要的事情。

答案 2 :(得分:2)

我不得不说,这是非常棒的10种色调。。但我带来了坏消息(不要拍信使......)

  

Important: The Google Image Search API has been officially deprecated as of May 26, 2011. It will continue to work as per our deprecation policy, but the number of requests you may make per day may be limited.

也就是说,他们一样,跛脚。
我觉得好像谷歌可能已经雇用了一个太多的IBM类型的基础......因为它们似乎正在杀掉他们所有的“酷”API。

他们随意推出服务,承诺这个以及那个和另一件事 ......但是一些中层经理在意识到(ta-da!)之后尖叫那个 XYZ项目不会产生收入(比如没有广告的图像结果,哈哈)然后......他们就是斧头......

教训:不要结婚(也就是建立你的软件或服务)围绕任何谷歌API,你不能在飞行的瞬间取消...现在,我不是LTS-junkie - 我我只是苦涩,因为我更倾向于通过XML或JSON获取我的谷歌搜索结果,而不是他们向你扔的肮脏的HTML汤......

一个问题@Marcel ...如何使用相同的“公式”获取数组或至少多个JSON结果响应。我想也许1意味着“结果1”,但唉,不......他们是一个“技巧”来生成内容流ala a Picasa xml feed