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

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

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

【问题讨论】:

    标签: youtube youtube-api google-plus google-oauth youtube-data-api


    【解决方案1】:

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

    1. 访问频道页面。

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

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

      ytInitialData.metadata.channelMetadataRenderer.ownerUrls

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

    3. 第二个始终是 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}"
           }]
        }
        

        【讨论】:

          猜你喜欢
          • 2016-04-11
          • 1970-01-01
          • 2014-10-12
          • 2012-12-31
          • 2013-05-31
          • 2019-12-07
          • 1970-01-01
          • 2019-12-14
          • 2011-09-13
          相关资源
          最近更新 更多