YouTube 允许用户名和频道名称。它们可以彼此不同。youtube API 允许我通过用户名进行搜索,但我看不到在哪里或如何通过频道名称进行搜索。这是视频下方显示的频道名称。有人告诉我如何通过频道名称/标题而不是用户名进行搜索吗?谢谢
我正在使用这个库从 WordPress 网站获取 Youtube 的视频和直播。 https://github.com/google/google-api-php-client
代码在过去一个月工作正常,但突然开始随机出现连接失败错误(十次尝试中有两次失败,其他都正常)
这是我收到错误的代码:
function googleapis_get_live_event_widget(){
//Youtube Videos and Live Events
require_once( get_stylesheet_directory() . '/lib/google-api-php-client/src/Google/autoload.php' );
$GOOGLE_DEVELOPER_KEY = get_field('cce_api_google_developer_key','option');
$client = new Google_Client();
$client->setDeveloperKey($GOOGLE_DEVELOPER_KEY);
$youtube = new Google_Service_YouTube($client);
try {
$islive = get_field('cce_live_event','option');
$opts = array();
$opts['channelId'] = get_field('cce_api_youtube_channel_id','option');
if($islive) {
$opts['eventType'] = 'live';
}
$opts['type'] = 'video';
$opts['maxResults'] = 1;
$opts['order'] = 'date';
$live_videos = $youtube->search->listSearch('id,snippet',$opts);
$data = array();
$data['live_events'] = $live_videos;
echo Timber::compile('partials/live_event_widget.twig',$data);
} catch (Exception $e) {
$error = array();
$error['message'] = $e->getMessage(); …Run Code Online (Sandbox Code Playgroud) 有没有办法使用 YouTube API v3 来检查视频是否有年龄限制?查看文档我无法确认这一点。
我想使用 Youtube Data API 来点赞评论。当我尝试喜欢自己的评论时,它可以正常工作,没有任何问题,但是当我尝试喜欢其他人的评论时,我会收到错误。
"reason": "invalidCommentMetadata",
"message": "The request metadata is invalid.",
Run Code Online (Sandbox Code Playgroud)
我正在使用 Google API PHP 客户端。
这是我用来更新的代码:
$videoComments = $youtube->comments->listComments('snippet', array(
'id' => $comment->id
));
$videoComments[0]->snippet->viewerRating = 'like';
$videoCommentUpdateResponse = $youtube->comments->update('snippet', $videoComments[0]);
Run Code Online (Sandbox Code Playgroud)
我相信这是做到这一点的方法,因为当我查看文档时,我发现唯一影响类似的是“viewerRating”。
https://developers.google.com/youtube/v3/docs/comments#properties
snippet.viewerRating string 观看者对此评论的评分。请注意,此属性当前无法识别不喜欢评级,但此行为可能会发生变化。同时,财产价值就像观众对评论给予积极评价一样。
在所有其他情况下,该值为 none,包括用户对评论给予负面评级或未对评论进行评级。
此属性的有效值为: - 类似 - 无
我不知道我是否做错了什么,或者这是否可能。我希望有人能在这里帮助我。
我正在使用 php 代码示例来上传 youtube 提供的视频,可以在这里找到: https: //developers.google.com/youtube/v3/code_samples/php#upload_a_video
但是,当会话启动时,它需要用户对其进行授权,因此它会将您带到授权页面,然后将您重定向回来。这样做时,它会上传两次,我认为它正在尝试上传未经授权时无法上传的视频。它仅在授权时双重上传,而不是在页面重新加载且会话仍然有效时双重上传。
如何停止此初始重复上传?
我正在尝试找出在给定频道的 ChannelID 的情况下获取频道的上传播放列表 ID 的最佳方法。例如对于带有channelID的频道
UC9CuvdOVfMPvKCiwdGKL3cQ
对应的上传playlistID为
UU9CuvdOVfMPvKCiwdGKL3cQ
请注意,第二个字符已从“C”更改为“U”
我可以通过字符串操作来完成此转换,但我很好奇是否有更好、更简单的方法来通过官方 youtube api 查找上传播放列表 ID。
这是一些显示我的问题的 Kotlin 代码:
我可以通过以下 youtube api v3 搜索找到“Game Grumps”频道的 ChannelID:
val req = youtube.search().list("snippet");
req.key = {API_KEY}
req.q = "Game Grumps"
req.type = "channel"
val response = req.execute();
Run Code Online (Sandbox Code Playgroud)
生成的通道 ID (response.items[0].snippet.channelId) 为 UC9CuvdOVfMPvKCiwdGKL3cQ
但是当我运行以下命令来尝试获取频道上传的视频时,我必须使用转换后的 ChannelID(以 UU 而不是 UC 开头)
val req = youtube.PlaylistItems().list("snippet")
req.playlistId = "UU9CuvdOVfMPvKCiwdGKL3cQ"
req.key = {API_KEY}
val response = req .execute()
Run Code Online (Sandbox Code Playgroud)
如果我使用未转换的“UC”channelID,则会收到以下错误:playlistId无法找到使用 requests 参数标识的播放列表。
除了用“U”替换第二个字符之外,还有什么更可靠的方法(例如使用 youtube API)将 ChannelID 转换为 PlaylistID(用于从该频道上传的内容)?
我试图使用 firebase 云功能将视频上传到 youtube。
我需要的是,当用户将视频上传到 firebase 云存储时,functions.storage.object().onFinalize 事件将被触发,在这种情况下,我将文件存储到临时位置并将文件从临时位置上传到 youtube位置到 youtube,上传后我删除了这两个文件。
它对于小文件来说效果很好。
但是,如果我上传一个大文件,那么该函数将通过显示此错误而终止
错误:超出内存限制。函数调用被中断。
上传视频的代码
var requestData = {
'params': {
'part': 'snippet,status'
},
'properties': {
'snippet.categoryId': '22',
'snippet.defaultLanguage': '',
'snippet.description': "docdata.shortDesc",
'snippet.tags[]': '',
'snippet.title': "docdata.title",
'status.embeddable': '',
'status.license': '',
'status.privacyStatus': 'public',
'status.publicStatsViewable': ''
}, 'mediaFilename': tempLocalFile
};
insertVideo(tempLocalFile, oauth2Client, requestData);
Run Code Online (Sandbox Code Playgroud)
插入视频功能
function insertVideo( file, oauth2Client, requestData) {
return new Promise((resolve,reject)=>{
google.options({ auth: oauth2Client });
var parameters = removeEmptyParameters(requestData['params']);
parameters['auth'] = oauth2Client;
parameters['media'] = { body: fs.createReadStream(requestData['mediaFilename'])};
parameters['notifySubscribers'] = false;
parameters['resource'] …Run Code Online (Sandbox Code Playgroud) 如果你查看YouTube V3 文档,它会说
YouTube 使用播放列表来识别频道的特殊视频集合,例如:(...) 观看历史记录 (...)。
现在,如果您转到Channels List API并调用它,part=contentDetails&mine=true它将列出您的信息,但watchHistory会显示为HL和。watchLaterWL
这让我想知道,到目前为止我找不到任何来自 Google/YouTube 的明确提及,这些播放列表是否已从 API 中删除?有什么方法可以真正从经过身份验证的用户那里获取该信息吗?
我有在Android中集成YouTube视频的代码.
我想要的是创建一个listview列出不同频道的频道,当用户点击频道时,它会显示该频道的所有视频.通过这种方式,当一个新视频加载到一个频道时,它也将自动在我的应用程序中可用.
是否可以在Android中集成YouTube频道?
我有一个ASP.Net网页,使用V2在我的频道中显示Youtube视频。由于Google已经淘汰了V2 API,因此我尝试使用V3 API,但无法从频道中获取视频。
我确实看过github上的示例,但是该示例显示了如何创建视频,但没有办法检索视频。在SO上搜索,我看到了使用php库的示例,我正在寻找特定于C#的东西。
有人可以帮我吗?
youtube-data-api ×10
youtube ×4
youtube-api ×4
php ×3
android ×1
asp.net ×1
c# ×1
channel ×1
firebase ×1
google-api ×1
node.js ×1
session ×1