我想要达到的目标
我想在 youtube 上的直播中插入提示点。您可以在 (youtube.com/my_live_events) 上登录来管理它们。可在此处找到文档:http: //developers.google.com/youtube/v3/live/docs/liveCuepoints/insert
我为实现这一目标所做的工作:
1 已认证
我将我的服务器添加到 api 控制台并创建了 api 密钥和所有内容。这有效,我得到了“未经身份验证的错误”
2 刷新访问令牌
使用刷新令牌。(我每次都这样做,php代码以防万一):
$account = gauth_account_load(1,false);
if ($account['is_authenticated']) {
$json = json_decode($account['access_token']);
$access_token = $json->access_token;
$client = gauth_client_get(1,FALSE);
if ($client->isAccessTokenExpired()) {
$client->refreshToken($json->refresh_token);
$account['access_token'] = $client->getAccessToken();
$json = json_decode($account['access_token']);
$access_token = $json->access_token;
gauth_account_save($account);
}
}
当令牌超时时,这可以很好地避免“无效凭据”错误。
3 构造URI
如上面链接中所述,这是要使用的 URL:{https://}www.googleapis.com/youtube/partner/v1/liveCuepoints?channelId=UC%&key=AI%
我添加了大括号,因为只有添加 1 个真实链接的权限
其中 UC% 是我的频道 ID(可在http://www.youtube.com/account_advanced中找到),AI% 是我的服务器 API KEY。(来自 api 控制台)
POST请求中的内容为如下json
{
"id":"cqOZjdltLMk",
"broadcastId":"cqOZjdltLMk",
"kind":"youtubePartner#liveCuepoint",
"settings":
{
"offsetTimeMs":0,
"cueType":"ad",
"durationSecs":10
}
}
现在我不确定 id 和 broadcastId (这应该是唯一的电影/直播 id)吗?这就是我在那里添加的。
4 结果
这是我从请求中得到的:代码:403
{
"domain": "usageLimits",
"reason": "accessNotConfigured",
"message": "Access Not Configured"
}
谷歌搜索“accessNotConfigured”导致了很多不同的 api 东西,但没有一个与 cuepoints 相关。
帮助
我究竟做错了什么?非常欢迎有用的链接!