如何从 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的主要内容,如果未能解决你的问题,请参考以下文章
如何通过自动生成的频道#name 获取 youtube 频道 ID?
YouTube 数据 API - 从电子邮件中获取频道 ID