【发布时间】:2017-07-12 10:55:27
【问题描述】:
首先,我查看了所有其他标题。所有这些都过时了。我的意思是,他们使用的是旧的 api。
我编写了一个代码来列出所有 cmets 及其 nextPageToken
<?php
$url = "SE0wDh_pILk"; // Youtube video ID
$ytkey = "IzaSyCaRXmJ9XDC4XucAZCzXx7hisCtYEH0mNs"; //"IzaSyBuu-rnbmPAj1DjR6WmyxGmpmQKz8aTXbw" Your api key
$nextPage = ""; // Next Page Token for get comments of next Page.
//$i =0; // DO NOT CHANGE
for ($i = 0; $i < 5; $i++) {
$str = file_get_contents("https://www.googleapis.com/youtube/v3/commentThreads?key=" . "$ytkey" . "&textFormat=plainText&part=snippet&videoId=" . "$url" . "&maxResults=100&nextPagetoken=" . "$nextPage");
$json = json_decode($str, true); // decode the JSON into an associative array
//echo '<pre>' . print_r($json, true) . '</pre>'; // Print json data as array structer ..
echo "$i - " . "Next Page Token : " . $json['nextPageToken']; // Take the next Page Token for get next 100 comment...
echo "<hr>"; // Divider
$nextPage = $json['nextPageToken']; // Take token for next query
// print comments.
foreach ($json['items'] as $val) { // Loop for list comments...
$author = $val['snippet']['topLevelComment']['snippet']['authorDisplayName']; //Get Comment Author Name.
//$author_url = $val['snippet']['topLevelComment']['snippet']['authorChannelUrl']; //Get Comment Author URL.
//$author_thumbnail_url = $val['snippet']['topLevelComment']['snippet']['authorProfileImageUrl']; //Get Comment Author Thumbnail URL.
$comment = $val['snippet']['topLevelComment']['snippet']['textDisplay']; //Get Comment Content.
echo "<span style='color:red';>" . "$author" . "</span>" . " --> " . "$comment"; // Author and comment
echo "<hr>"; // Divider
}
}
echo "Process over. ";
?>
我学习了如何解析 json 以及如何从 stackoverflow 在 php 上显示它们。
现在,使用 nextPageTokens 已经没有问题了。但我无法获得 cmets。
当我运行脚本时,它返回不同的nextPageToken 但 cmets 是相同的,它们来自第一页。
我尝试添加足够多的注释行。 抱歉,我无法为 php 代码着色。
【问题讨论】:
-
您为什么要手动执行此操作而不使用 Google PHP 客户端库? github.com/google/google-api-php-client
-
你能扩展你的答案吗?
-
现在您自己编写代码。 Google 为 PHP 创建了一个库,它将为您完成所有这些工作。你让自己变得更难,那么它需要developers.google.com/youtube/v3/code_samples/…
-
功能不能满足我的要求,我想得到所有评论这个脚本只能查看最常见的cmets并回复它们..
-
公开发布您的 API 密钥真的是个好主意吗?
标签: php json youtube youtube-api youtube-data-api