【问题标题】:Parsing json data using php from youtube data api v3使用来自 youtube data api v3 的 php 解析 json 数据
【发布时间】:2014-03-01 16:39:41
【问题描述】:

我正在使用 Youtube 数据 api v3 使用以下网址检索搜索查询的数据 https://www.googleapis.com/youtube/v3/search?part=snippet&q=text&key=apikey&maxResults=25.

我得到 json 响应,当我使用 json decode 来解析 json 数据时,我得到空结果,谁能告诉我如何检索数据

我使用下面的php代码来解析

$videourl="https://www.googleapis.com/youtube/v3/search?part=snippet&q=hello&key=apikey&maxResults=25";
            $json = file_get_contents($videourl);
            $data = json_decode($json,true);
print_r($data);

从以下 url 获取 json 响应: https://www.googleapis.com/youtube/v3/search?part=snippet&q=hello&key=apikey&maxResults=25

【问题讨论】:

  • Google 返回的 JSON 值是多少?
  • 我正在获取 json 字典格式的标题、描述、图像详细信息
  • 请发布返回的 JSON 和您的 PHP 代码。
  • 检查我修改后的问题
  • 空结果是什么意思?输出到底是什么?

标签: php json youtube-data-api


【解决方案1】:
if (extension_loaded('curl')) {
    # create a new cURL resource
    $ch = curl_init();

    # set URL and other appropriate options
    curl_setopt($ch, CURLOPT_URL, "http://googleapis.com/.....");
    curl_setopt($ch, CURLOPT_HEADER, 0);
    # Setting cURL's option to return the webpage data
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

    # grab URL and pass it to the browser
    if($json = curl_exec($ch)) {
        if(!($data = @json_decode($json)) instanceof stdClass) {
            trigger_error('Unable to decode json. '. print_r(error_get_last(), true));
        }
    }

    else trigger_error('CUrl Error:'.curl_error($ch));

    # close cURL resource, and free up system resources
    curl_close($ch);

}

else trigger_error('CUrl unsupported', E_USER_WARNING);

【讨论】:

    【解决方案2】:

    您应该测试 file_get_contents 的返回值。请注意,如果出现错误,此函数将返回 FALSE(而不是 NULL)。所以你应该用=== FALSE测试返回值,以免被空值混淆。

    在您的情况下,如果您尝试访问您在问题中发布的确切网址,Google 将返回代码 400(错误请求),这就是您返回 FALSE 的原因。

    【讨论】:

    • @Jimbo 嗯...看看他的经验。他不能发表评论。这是他唯一可以回复的方式。怪堆栈交换。相反,每个人都应该发表评论,但只有高 xp cmets 应该可见。
    • @mAsT3RpEE 嗯,看看this post
    猜你喜欢
    • 2015-10-26
    • 2015-08-05
    • 2011-02-11
    • 1970-01-01
    • 2016-05-23
    • 2020-08-26
    • 2017-06-14
    • 2014-08-09
    • 1970-01-01
    相关资源
    最近更新 更多