Php 基于URL API V3获取youtube ID?

Php 基于URL API V3获取youtube ID?,php,youtube,Php,Youtube,我正在尝试根据任何youtube URL获取youtube id。我生成了一个密钥。事情是基于这个id的,我想检索标题和描述,如下面的URL 现在我正在使用PHP从ULR提取视频ID,然后使用我在stackoverflow中找到的方法将其传递到上面的链接 $url_string = parse_url($url, PHP_URL_QUERY); parse_str($url_string, $args); return isset($args['v']) ? $args['v'] : fals

我正在尝试根据任何youtube URL获取youtube id。我生成了一个密钥。事情是基于这个id的,我想检索标题和描述,如下面的URL

现在我正在使用PHP从ULR提取视频ID,然后使用我在stackoverflow中找到的方法将其传递到上面的链接

$url_string = parse_url($url, PHP_URL_QUERY);
parse_str($url_string, $args);
return isset($args['v']) ? $args['v'] : false;
这种方法并非每次都有效。我也尝试了正则表达式,但我遇到了同样的问题。而且,我也搜索了一下。任何建议


谢谢。

这些内容将根据URL获得YouTube电影的标题和描述(将
$URL
设置为适当的URL):


你能给出一个这个方法不起作用的URL示例吗?这个方法不起作用,因为我只是尝试了那个URL
https://www.youtube.com/watch?v=RgKAFK5djSk&list=PLc6GzkmQ1nEscjVMc6OcD1kz-O4JO2FE0
进入顶层代码,看起来效果不错。你有错误吗?这个代码有错误吗?您提供的示例URL对我来说似乎正常。你失败了吗?是否还有另一个示例URL不起作用?
<?php

$url="https://www.youtube.com/watch?v=7SpNHMwwID4";
parse_str(parse_url($url)['query'], $args);

$googleAPI = "https://www.googleapis.com/youtube/v3/videos";
$googleAPI .= "?part=snippet";
$googleAPI .= "&id=" . $args['v'];
$googleAPI .= "&key={YOUR-API-KEY}";

$JSON = file_get_contents($googleAPI);
$videoResponse = json_decode($JSON, true);

?>

<!doctype html>
<html>
  <head>
    <title>Video information</title>
  </head>
  <body>
  Title: <?= $videoResponse['items'][0]['snippet']['title']; ?><br/>
  Description: <?= $videoResponse['items'][0]['snippet']['description']; ?>
  </body>
</html>
<?php

require_once 'Google/autoload.php';
require_once 'Google/Client.php';
require_once 'Google/Service/YouTube.php';

$client = new Google_Client();
$client->setDeveloperKey('{YOUR-API-KEY}');
$youtube = new Google_Service_YouTube($client);

$url="https://www.youtube.com/watch?v=7SpNHMwwID4";
parse_str(parse_url($url)['query'], $args);

$videoResponse = $youtube->videos->listVideos('snippet', array(
    'id' => $args['v']
));

$title = $videoResponse['items'][0]['snippet']['title'];
$description = $videoResponse['items'][0]['snippet']['description'];
?>

<!doctype html>
<html>
  <head>
    <title>Video information</title>
  </head>
  <body>
  Title: <?= $title ?><br/>
  Description: <?= $description ?>
  </body>
</html>