我在开发者控制台中创建了一个Google应用程序,打开了"YouTube Data API v3",生成了服务器API密钥,并授权我的家庭和工作IP.
我的网站使用V3 API列出了Youtube频道中的所有视频.它使用官方PHP库,将其传递给服务器API密钥.
这一切在昨天从家里运行良好,今天早上下班.然后,它突然停止工作在上午11点(格林尼治标准时间+ 1),没有我的部分行动,这个错误:
[Google_Service_Exception]调用GET时出错 https://www.googleapis.com/youtube/v3/channels?part=contentDetails&forUsername=xxxxxxxxxx&key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx:(403)未配置访问权限.API未针对您的项目启用,或者您的APIkey上配置了每IP或每个Referer限制,并且请求与这些限制不匹配.请使用Google Developers Console更新您的配置.
注意:我使用了少于10个请求,在白天允许的50万个请求中,我有一个静态的公共IP地址,这部分代码没有受到影响.
为了解决这个问题,我能找到什么呢?我真的不知道从哪里开始......谢谢.
这真是太疯狂了,我花了一个星期的时间试图解决这个问题.我发现的一切都被弃用或者不起作用.
所以这就是我想要做的.我们有用户上传视频,我们会将视频存储到批准之前.一旦获得批准,我们需要将其上传到我们的YouTube频道.
来自Google:https://developers.google.com/youtube/v3/code_samples/dotnet#retrieve_my_uploads的示例将无法通过GoogleWebAuthorizationBroker.AuthorizeAsync,因为它只会永久挂起.
这种方法的另一个问题是我们在上传视频后需要id,我们需要知道视频是否成功上传,所有这些都是同步的.你会看到它使用异步方法的代码,并获得视频的id,有一个回调.
有没有人知道如何同步在mvc应用程序的后端上传视频?
尝试使用Google API PHP客户端(最新版本1.1.6)上传视频,但Youtube API V3中的代码无法正常工作,并且出现500内部服务器错误.
当我没有使用任何前沿测试版时,下面的代码有什么问题,我刚刚屏蔽了3个参数,否则它是从Youtube API V3复制的.
require_once 'google-api-php-client/src/Google/Client.php';
require_once 'google-api-php-client/src/Google/Service/YouTube.php';
session_start();
$OAUTH2_CLIENT_ID = 'CHANGE1-0osfh0p5h80o9ol2uqtsjq5i7r1jun.apps.googleusercontent.com';
$OAUTH2_CLIENT_SECRET = 'CHANGE2azMpt__VdSt9';
$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('http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'],
FILTER_SANITIZE_URL);
$client->setRedirectUri($redirect);
// Define an object that will be used to make all API requests.
$youtube = new Google_Service_YouTube($client);
if (isset($_GET['code'])) {
if (strval($_SESSION['state']) !== strval($_GET['state'])) {
die('The session state did not match.');
}
$client->authenticate($_GET['code']);
$_SESSION['token'] = $client->getAccessToken();
header('Location: ' . …Run Code Online (Sandbox Code Playgroud) php youtube youtube-api google-api-php-client youtube-data-api
对于某些视频,YouTube 网站会说“我的国家/地区不提供视频”。是否可以使用 YouTube 数据 API 或其他方式检查该特定视频允许使用哪个国家/地区?
我是初学者,我正在开发一个Android项目,我使用Google YouTube数据API播放youtube视频.即使在用户切换到另一个应用程序或按下主页按钮后,是否可以在后台播放视频?是否可以将音频与视频分开并在后台流式传输?我不想使用网页浏览.
是否可以从任何 YouTube API 中提取自动(非用户)生成的视频脚本?
从2017年4月6日开始,我停止了"统计"部分的工作.它工作得非常好,现在几部视频我都没有获得"统计"部分.当我拨打这个电话时,请https://www.googleapis.com/youtube/v3/videos?part=statistics&key=validKey&id=3cxixDgHUYw
仅供参考,我也尝试从这里获取"统计"部分,但没有收到它.https://developers.google.com/youtube/v3/docs/videos/list
我的团队使用Youtube API进行为期2周的比赛,参与者必须发送视频.我们希望这些视频在Youtube上托管,仅持续3到4周.
但是,根据Youtube的API文档和配额计算器:
视频上传的成本约为1600单位.
和
每日查询(默认):10 000单位(最大)
这意味着我们每天不能发送超过6.25个视频,这在我们的案例中非常有问题.
它还表明:
如果达到配额限制,则可以在开发人员控制台的"配额"选项卡上请求其他配额.
我们已经完成了这个很长的形式(昨天),所以我们有三个问题:
这些问题可能听起来很愚蠢,但这是一个紧急情况,我在这里和API文档中找不到我的许多搜索的答案.
也许这里的一些人已经要求增加配额,并且能够回答这些问题.
预先感谢您的帮助.
我正在一个网站上工作以加载多个 YouTube 频道直播。起初,我试图找出一种不使用 youtube api 的方法来做到这一点,但决定让步。
要查找频道是否正在直播并获取我一直在使用的直播链接:
https://www.googleapis.com/youtube/v3/search?part=snippet&channelId={CHANNEL_ID}&eventType=live&maxResults=10&type=video&key={API_KEY}
Run Code Online (Sandbox Code Playgroud)
但是,最小配额为 10000,每次搜索价值 100,因此在超出配额限制之前,我只能进行大约 100 次搜索,这根本没有帮助。我最终在大约 10 分钟内超过了配额限制。:(
有没有人知道使用尽可能少的配额点来确定频道当前是否正在直播以及直播链接是什么的更好方法?
我想每 3 分钟为每个用户重新加载一次 youtube 数据,将其保存到数据库中,并使用我自己的 api 显示信息以节省服务器资源和配额点。
希望有人能很好地解决这个问题!
如果对链接无能为力,只需确定用户是否在线而无需每次使用 100 个配额点,这将是一个很大的帮助。
今天我收到了来自noreply@youtube.com 的电子邮件,内容如下:
尊敬的 YouTube API 开发人员:
我们目前正在对您的 YouTube 数据 API 项目进行强制性合规性审查。该审核旨在评估您对我们的 YouTube API 服务开发者政策(链接)的遵守情况,并了解我们的服务是如何使用的。在接下来的七 (7) 个工作日内,在您方便时,请填写并提交以下信息:
供参考,您的项目编号为0000000000
请确保提交所需的所有支持材料且足够,并且所有问题都得到彻底回答。如果这不是正确或首选的 API 联系电子邮件,或者如果您希望我们在未来的电子邮件中抄送任何其他联系人,请告诉我们。
感谢 YouTube API 服务团队 YouTube, LLC 901 Cherry Ave, San Bruno, CA 94066
有人可以向我解释 - 我应该将答案发送到哪里?
youtube-data-api ×10
youtube-api ×6
youtube ×3
android ×1
asp.net-mvc ×1
c# ×1
google-api ×1
php ×1
quota ×1