“channels.list”函数有一个“id”参数(“id 参数为正在检索的资源指定一个以逗号分隔的 YouTube 频道 ID 列表”)
我的测试表明可以一次检索 50 个频道。否则,我会在 Google_Http_REST::decodeHttpResponse 中收到 (400) 错误请求。这是因为 HTTP GET 请求的最大长度,还是服务器端限制?
对于配额消耗来说,使用多个通道 ID 进行一次调用是否更好,还是与每个具有一个通道 ID 的多个请求相同?
谢谢!
我一直在尝试使用新的 V3 数据 API 获取评论列表,但结果不一。
对于某些视频,您只能获得一部分评论。我在一些视频中注意到了这一点,但对于这个特定情况,我将使用视频 ID = U55NGD9Jm7M
您可以在此处的 WebUI 中找到有关此视频的所有评论:https : //www.youtube.com/all_comments?v=U55NGD9Jm7M
在发布时,该视频有 5,499 条评论。
API 结果:
查询https://www.googleapis.com/youtube/v3/commentThreads?part=id,snippet,replies&textFormat=plainText&maxResults=100&videoId=U55NGD9Jm7M&key= {YOUR_API_KEY} 时,我只得到大约 317 条评论(包括分页,并计算所有回复) )(按时间顺序排列)。
验证研究:
如果您从下拉列表中选择“热门评论”,然后向下滚动并一遍又一遍地单击“更多”,则会收到 1,000 多条评论(我停在大约 1,000 条)
如果您然后从下拉列表中选择“最新优先”并重复该过程(更多...更多...更多),您会发现在您无法显示更多评论之前,大约有 317 条评论。
我觉得 UI 中存在差异很奇怪,但感谢 API 与 UI 的一部分对齐。有没有其他人注意到这一点?有没有办法获得所有 5,499 条评论的全文?
谢谢!
杰森
跟进 1
作为后续工作,我能够使用 View->Source(线程 ID z12wzfzhtybgz13kj22ocvsz2unrtn1qj04)隔离一条评论,并在此处的 API 中从该评论中获取所有信息:https : //www.googleapis.com/youtube/v3/ commentThreads?part=id%2Csnippet%2Creplies&id=z12wzfzhtybgz13kj22ocvsz2unrtn1qj04&maxResults=100&key= {YOUR_API_KEY})
它甚至提到了与评论相关联的正确 VideoID。但是,当您通过视频查询时,不会返回此评论 ID。
后续 2 我刷新了所有评论的 Web UI,返回的评论列表明显不同
我正在尝试使用 Youtube 数据 API 检索我的 Youtube 频道名称,但我得到了空项目。我的 Youtube 帐户中有一个频道,所以它应该返回一个。
这些是我输入的查询属性 -
part:'contentDetails', forUsername: 'Seong+Lee',
Run Code Online (Sandbox Code Playgroud)
从他们的交互式文档页面获得以下响应。
200 OK
- SHOW HEADERS -
{
"kind": "youtube#channelListResponse",
"etag": "\"fpJ9onbY0Rl_LqYLG6rOCJ9h9N8/C3QZ-VsykvkpW2zCm7VjGBCayqc\"",
"pageInfo": {
"totalResults": 0,
"resultsPerPage": 5
},
"items": [
]
}
Run Code Online (Sandbox Code Playgroud)
在我的应用程序中,我得到了相同的响应,所以我认为我的请求代码没有问题。为什么我无法获取频道名称?
使用Youtube Data API的Channels:列表与brandingSettings部件在使用id过滤器时有效,但forUsername对我来说不适用于过滤器.
例如,GET https://www.googleapis.com/youtube/v3/channels?part=brandingSettings&forUsername=h3h3Productions&key={YOUR_API_KEY}结果如下,缺少brandSettings:
{
"kind": "youtube#channelListResponse",
"etag": "\"0KG1mRN7bm3nResDPKHQZpg5-do/Qagk6ayL_umilQ398UZyAHwxK_g\"",
"pageInfo": {
"totalResults": 1,
"resultsPerPage": 5
},
"items": [
{
"kind": "youtube#channel",
"etag": "\"0KG1mRN7bm3nResDPKHQZpg5-do/tTzKQvYs0Y2GpqN2wqgudxB2TnQ\"",
"id": "UCDWIvJwLJsE4LG1Atne2blQ"
}
]
}
Run Code Online (Sandbox Code Playgroud)
但是GET https://www.googleapis.com/youtube/v3/channels?part=brandingSettings&id=UCDWIvJwLJsE4LG1Atne2blQ&key={YOUR_API_KEY}(你会注意到它使用同一个用户的ID),保持原样:
{
"kind": "youtube#channelListResponse",
"etag": "\"0KG1mRN7bm3nResDPKHQZpg5-do/2ZOHdezDOZFRR9xisREY04R4OOg\"",
"pageInfo": {
"totalResults": 1,
"resultsPerPage": 1
},
"items": [
{
"kind": "youtube#channel",
"etag": "\"0KG1mRN7bm3nResDPKHQZpg5-do/58_5G5_Hi-64MiC8m5NC76sDIOA\"",
"id": "UCDWIvJwLJsE4LG1Atne2blQ",
"brandingSettings": {
"channel": {
"title": "h3h3Productions",
"description": "Wacky, zany, goofy comedy. ",
"keywords": "comedy humor satire …Run Code Online (Sandbox Code Playgroud) 我的服务器将 videoID 列表发送到 Android。现在,我想在列表视图中显示这些视频的标题、缩略图和评论数。我已经使用 GET 请求在 Web 中完成了此操作,https://www.googleapis.com/youtube/v3/videos?part=snippet&id={VIDEO_ID}&key={YOUR_API_KEY}但如何在 Android 中执行此操作?是否有任何 YouTube SDK 来初始化 YouTube 对象?如何使用 VideoID 从 YouTube 检索此信息?
编辑:我已经找到了一种使用Java 的 YouTube 数据 API 客户端库的方法,但是它在没有任何解释的情况下给出了运行时错误。
这是我使用的代码
/**
* Define a global instance of a Youtube object, which will be used
* to make YouTube Data API requests.
*/
private static YouTube youtube;
youtube = new YouTube.Builder(new NetHttpTransport(), new JacksonFactory(), new HttpRequestInitializer(){
public void initialize(com.google.api.client.http.HttpRequest request) throws IOException {
}
}).setApplicationName("youtube-cmdline-search-sample").build();
// Call the YouTube Data API's …Run Code Online (Sandbox Code Playgroud) youtube android youtube-api android-youtube-api youtube-data-api
我正在尝试通过 YouTube 数据 API 获取我的所有播放列表,包括我创建的公共播放列表和我喜欢的 YouTube 播放列表。我喜欢的 YouTube 播放列表位于单独的部分,称为“已保存的播放列表”。我正在使用
https://www.googleapis.com/youtube/v3/playlists?part=snippet&channelId={ChannelID}&maxResults=50&key={YOUR_API_KEY}
Run Code Online (Sandbox Code Playgroud)
但我只得到我创建的播放列表。如何获得“已保存的播放列表”?
有什么方法可以检查用户是否通过 youtube API 观看了 youtube 上的某些视频?我不仅想知道用户是否点击了视频,还想知道他是否真的看过。我基本上希望您在浏览 youtube 时可以在视频缩略图上看到这些信息。
是否可以在Android的React Native应用程序中使用Youtube Data API?
我想使用YouTube网站数据API来检索自己上传的频道...
youtube-api youtube-javascript-api youtube-data-api react-native
关于开发者控制台功能,我有点困惑.
我有一个项目,我在其中访问youtube数据apiv3.我创建了我的项目并获得了4个键:
除此之外,前三个是由谷歌服务自动生成的.我通过给出项目的SHA-1指纹生成了android密钥.我有以下问题,我似乎没有得到答案:
为什么我会自动生成前三个?我不在后端工作,所以只是出于好奇,如果客户端使用服务器密钥而不是浏览器密钥?有什么区别?
我猜SHA-1习惯像公钥加密一样工作.它仅依赖于包和开发环境吗?我没有使用keytool,但直接使用Studio中的SigningReports功能.指纹所依赖的参数究竟是什么?我通过删除调试密钥库创建了新的SHA-1.Android studio会自动重新生成调试密钥库.这个密码学究竟是如何工作的呢?
我的iOS同事可以在没有密钥的情况下访问和刷新令牌.AFAIK对于OAuth2.0,我们需要获取身份验证令牌,将其与客户端ID,密钥和API密钥一起使用以获取访问权限并刷新令牌.他们如何做到这一点?秘密密钥在这里扮演什么角色?
最重要的是:我的项目中有不同的API KEYS.google-services.json中的一个与众不同
youTubePlayerFragment.initialize(API_KEY,new YouTubePlayer.OnInitializedListener()
是不同的!!它仍然有效.怎么样??
我正在运行一个带有ffmpeg的WordPress网站,我允许用户使用表单创建视频.视频工作正常,每个帖子都保存在自己的目录中.
我现在正试图允许用户将他们创建的视频上传到他们自己的YouTube频道.
使用来自youtube api的 PHP代码和谷歌控制台上的应用程序,我能够成功将视频上传到我自己的帐户.它只要求我进行一次身份验证.
PHP代码 -
<?php
require_once $_SERVER['DOCUMENT_ROOT'] . '/gap/google-api-php-client/vendor/autoload.php';
$key = file_get_contents('the_key.txt');
set_include_path($_SERVER['DOCUMENT_ROOT'] . '/gap/google-api-php-client/');
require_once 'src/Google/Client.php';
require_once 'src/Google/Service/YouTube.php';
$application_name = 'youtube4true';
$OAUTH2_CLIENT_ID = 'REMOVED FOR STACK';
$OAUTH2_CLIENT_SECRET = 'REMOVED FOR STACK';
$client = new Google_Client();
$client->setClientId($OAUTH2_CLIENT_ID);
$client->setClientSecret($OAUTH2_CLIENT_SECRET);
$client->setScopes('https://www.googleapis.com/auth/youtube');
$redirect = filter_var('https://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'],
FILTER_SANITIZE_URL);
$client->setRedirectUri($redirect);
$client->setAccessType("offline");
$client->setApprovalPrompt("force");
// Define an object that will be used to make all API requests.
$youtube = new Google_Service_YouTube($client);
// Check if an auth token exists …Run Code Online (Sandbox Code Playgroud) youtube-data-api ×10
youtube-api ×8
youtube ×5
android ×2
access-token ×1
cryptography ×1
google-api ×1
oauth-2.0 ×1
php ×1
react-native ×1
sha1 ×1
token ×1