0

我想要达到的目标

我想在 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 相关。

帮助

我究竟做错了什么?非常欢迎有用的链接!

4

1 回答 1

0

LiveCuepoint is actually in a different API. To be able to use cuePoint, you have to be use YouTube partner and also have access to Content ID API.

于 2013-10-16T14:48:16.260 回答