JSON - 使用未显示的FileGetContents导入数据?

时间:2014-11-01 23:49:26

标签: php json youtube-api

我一直在编写一个小脚本来获取用户的月度视图。当我获得用户的访问令牌并且我var_dump file_get_contents($ url)时,我得到一个正确的json,看起来像这样。

$views = file_get_contents('https://www.googleapis.com/youtube/analytics/v1/reports?ids=channel%3D%3DMINE&start-date=2014-09-29&end-date=2014-10-29&metrics=views&access_token='.$responseObj->access_token);
var_dump($views);

结果是:

{
  "kind": "youtubeAnalytics#resultTable",
  "columnHeaders": [
    {
      "name": string,
      "dataType": string,
      "columnType": string
    },
  ],
  "rows": [
    [
      2204
    ]
  ]
}

我不确定如何使用JSON导入此号码" 2204"并回应它。目前我正在尝试:

$monthlyViews = $views['rows'][0];
var_dump($monthlyViews)

但这不起作用,我不知道为什么。我没有得到任何回复,除了错误说:

致命错误:不能在第39行的/home/a1059253/public_html/oauth/callback.php中使用字符串偏移作为数组

1 个答案:

答案 0 :(得分:0)

首先,您需要解析JSON对象:

$json = json_decode($views);

PHP将JSON解析为对象,而不是数组,因此您的代码应为:

$monthlyViews = $json->rows[0][0];
echo $monthlyViews;