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

3
我正在运行一个服务,人们可以使用oauth 2.0连接他们的Google账户,并且通过YouTube权限我可以管理他们的频道/访问他们的YouTube频道ID。
然而,我的问题是是否能够反向操作。也就是说,如何从给定的YouTube频道ID确定Google账户所有者?
3个回答

2

contentDetails.googlePlusUserId不再作为contentDetails部分的一部分存在,因此已从https://developers.google.com/youtube/v3/docs/channels#properties中删除。根据他们变更日志中的摘录:

2016年6月13日

此更新包含以下更改:

  • 已弃用channel资源的contentDetails.googlePlusUserId属性。以前,仅当频道与Google+配置文件相关联时,该属性才存在。随着弃用,该属性将不再包含在任何channel资源中。
  • 已弃用comment资源的snippet.authorGoogleplusProfileUrl属性。以前,仅当频道与Google+配置文件相关联时,该属性才存在。随着弃用,该属性将不再包含在任何comment资源中。

由于这两个属性都将在弃用后不返回,因此已从相应的资源文档中删除了这两个属性。


2
可能无法通过YouTube API(v3)获取到Google+ ID。但是即使频道所有者没有创建Google+帐户,您也可以使用XHR或curl在频道HTML文档中提前了解它。
以下是一些步骤:
1. 访问频道页面。 2. 在页面上使用开发人员工具捕获JavaScript对象: ytInitialData.metadata.channelMetadataRenderer.ownerUrls 3. 第二个始终是Google+地址,数字是Google+ ID。如果需要,您可以从频道页面的ytInitialData中获取更多信息。
例如:https://www.youtube.com/channel/UCiQPrVjbUlZBWY0fVtvpoKg
无法通过YouTube API(v3)获取该频道ID(UCiQPrVjbUlZBWY0fVtvpoKg)的Google+ ID,但是当您可以访问HTML文档并阅读时,可以直接获取Google+ ID。即使频道所有者没有创建Google+帐户,Youtube也已经生成了Google+ ID。

1
你可以通过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}"
   }]
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接