【问题标题】:PHP - Getting Channel ID after OAuth - YouTube APIPHP - 在 OAuth 之后获取频道 ID - YouTube API
【发布时间】:2018-02-02 19:54:30
【问题描述】:

首先,这个问题听起来像是重复的,但从我已经看到的答案来看,我认为答案不适合这个目的,因为我没有权限。

在他们授权他们的 Google 帐户后,我正在尝试查找 YouTube 频道 ID。

我使用的范围是:

https://www.googleapis.com/auth/yt-analytics.readonly
https://www.googleapis.com/auth/userinfo.profile

很多答案是指访问 V3 频道 api 以获取频道 ID。

$channelData = file_get_contents("https://www.googleapis.com/youtube/v3/channels?part=id&mine=true&access_token=".$token['access']);
$channelData = json_decode($channelData, true);

问题在于我正在使用的范围,您无法访问它。关于 SO 的其他问题都围绕着这个端点。

Youtube API Retrieving Channel ID after authentication

How to get Channel ID (YouTube API v2)?

How to Get Channel id or url after Google Oauth PHP

请注意,我希望将范围保持在最低限度。为什么仅使用分析 API 就无法实现这一点?我是否必须使用另一个 YouTube 范围来查找刚刚授权的人的频道 ID?

我要问的问题是

有什么方法可以获取刚刚使用当前范围授权的用户的频道 ID?如果不是,我可以用来获取他们的频道 ID 的最小权限范围是多少?

【问题讨论】:

    标签: php api oauth youtube youtube-data-api


    【解决方案1】:

    您应该添加youtube.readonly 作用域,像socialite 这样的插件正好有这个作用域硬编码。频道snippet 可以通过channels 方法-docspart=snippet 获得。

    只读范围足够轻,可以将其包含到您的列表中。 userinfo.profileyt-analytics.readonly 无权访问频道列表。此范围是获取频道 ID 所需的唯一范围。

    【讨论】:

      【解决方案2】:

      [编辑]

      抱歉,之前我错过了auditDetails 部分。您可以在此处找到 YouTube API 范围:YouTube API scopes

      你肯定需要那个:https://www.googleapis.com/auth/youtube。我不确定这个:https://www.googleapis.com/auth/youtube.force-ssl,因为除了“force ssl”部分之外没有任何解释。

      【讨论】:

      • 感谢您的回答。我不想得到 auditDetails 部分。最好是 sn-p 或 id。另外,(也许我错了)但我相信范围仅限于 MCN/CMS 持有者。我会做一些测试然后回来! :)
      猜你喜欢
      • 2014-07-29
      • 2023-03-31
      • 2014-07-19
      • 2012-09-08
      • 2016-03-01
      • 2019-12-14
      • 2020-11-26
      • 2013-05-31
      • 1970-01-01
      相关资源
      最近更新 更多