如何从 YouTube 频道 ID 获取用户的 Google+ ID

Posted

技术标签:

【中文标题】如何从 YouTube 频道 ID 获取用户的 Google+ ID【英文标题】:How to get a user's Google+ ID from a YouTube channel ID 【发布时间】:2016-06-19 19:05:05 【问题描述】:

我正在运行一项服务,人们可以使用 oauth 2.0 连接他们的 Google 帐户,并且有了 YouTube 权限,我可以管理他们的频道/访问他们的 YouTube 频道 ID。

但是,我的问题是你是否可以倒退。即,如何根据给定的 YouTube 频道 ID 确定 Google 帐户所有者?

【问题讨论】:

【参考方案1】:

可能人们无法从 YouTube API(v3) 获取 Google+ ID。但是即使频道所有者没有创建google plus账号,你也可以通过XHR或curl在频道html文档上提前知道。

    访问频道页面。

    https://www.youtube.com/channel/UCL8ZULXASCc1I_oaOT0NaOQ

    在页面的浏览器上从开发者工具中捕获 javascript 对象。

    ytInitialData.metadata.channelMetadataRenderer.ownerUrls

    [ "http://www.youtube.com/user/googlechrome", "https://plus.google.com/100585555255542998765" ]

    第二个始终是 google plus 地址,数字是 Google+ ID。如有必要,您可以在频道页面从 ytInitialData 获取更多信息。

一个例子。 https://www.youtube.com/channel/UCiQPrVjbUlZBWY0fVtvpoKg

关于该频道 ID(UCiQPrVjbUlZBWY0fVtvpoKg) 您无法从 YouTube API(v3) 获取 Google+ ID,但是当您可以访问 html 文档或阅读它时,您可以直接在频道获取 Google+ ID。即使频道所有者没有创建 google plus 帐户,Youtube 已经一起创建了 Google+ ID。

【讨论】:

【参考方案2】:

googlePlusUserId 现已弃用

https://developers.google.com/youtube/v3/docs/channels#properties

contentDetails.googlePlusUserId 不再作为 contentDetails 部分的一部分存在。

基于他们change-log的这段摘录

2016 年 6 月 13 日

此更新包含以下更改:

channel 资源的 contentDetails.googlePlusUserId 属性具有 已弃用。以前,只有在 频道与 Google+ 个人资料相关联。继 弃用,该属性将不再包含在任何channel 资源。 comment 资源的snippet.authorGoogleplusProfileUrl 属性已被弃用。此前,该物业仅 如果频道与 Google+ 个人资料相关联,则显示。 弃用后,该属性将不再包含在 任何comment 资源。

因为这些属性都不会 弃用后返回,这两个属性已被删除 来自相应的资源文档。

【讨论】:

【参考方案3】:

您可以通过 YouTube API(v3) 请求获取用户 Google+ ID,例如:

https://www.googleapis.com/youtube/v3/channels?part=contentDetails&id=CHANNEL_ID&key=YOUR_API_KEY

将返回:


   "kind": "youtube#channelListResponse",
   "etag": "fooHash",
   "pageInfo": 
      "totalResults": 1,
      "resultsPerPage": 1
   ,
   "items": [
         "kind": "youtube#channel",
         "etag": "fooHash",
         "id": "fooHash",
         "contentDetails": 
            "relatedPlaylists": 
               "likes": "fooHash",
               "favorites": "fooHash",
               "uploads": "fooHash"
             ,
          
          "googlePlusUserId": "ID"
   ]

【讨论】:

以上是关于如何从 YouTube 频道 ID 获取用户的 Google+ ID的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Youtube 频道获取所有视频 ID

如何通过自动生成的频道#name 获取 youtube 频道 ID?

如何从频道 ID 获取 YouTube 视频 URL

YouTube 数据 API - 从电子邮件中获取频道 ID

使用 YouTube API,如何从频道名称中获取直播的视频 ID?

YouTube API:如何通过频道名称获取频道 ID?