如何使用 YouTube Analytics API 获取任何 Youtube 频道的订阅用户列表及其详细信息?
Posted
技术标签:
【中文标题】如何使用 YouTube Analytics API 获取任何 Youtube 频道的订阅用户列表及其详细信息?【英文标题】:How to get any Youtube channel's subscribed users list and their details using YouTube Analytics API? 【发布时间】:2020-10-24 21:36:32 【问题描述】:我正在尝试获取任何 youtube 频道的订阅用户列表及其详细信息(分析),例如 XYZ 频道有 45% 的男性用户订阅者和 55% 的女性用户订阅者,该频道由前 5 个国家的订阅者订阅,并且渠道受众人口统计相关信息。
为此,我使用 YouTube Analytics API v3,我的网址是这样的
https://www.googleapis.com/youtube/v3/subscriptions?part=snippet,contentDetails,subscriberSnippet&key=APIKEY&id=CHANNELID
但是这个 URL 返回下面的代码作为响应
"kind": "youtube#SubscriptionListResponse",
"etag": "TOmVRCZpu2meG82Dv9k7Y-QQ8t888",
"pageInfo":
"totalResults": 0,
"resultsPerPage": 5
,
"items": []
我不知道使用此 URL 获取上述详细信息是对还是错。我确实阅读了有关 youtube 数据 API 的所有问题,但我没有找到关于这些问题的答案。
提前致谢。
【问题讨论】:
【参考方案1】:根据the docs,如果您的意图是获取订阅信息 w.r.t.一个给定的频道——由它的频道 ID 标识——那么你应该使用参数channelId
:
channelId(字符串)
channelId 参数指定 YouTube 频道 ID。 API 只会返回该频道的订阅。
因此,请将上面的 URL 更改为:
https://www.googleapis.com/youtube/v3/subscriptions?part=snippet,contentDetails,subscriberSnippet&key=APIKEY&channelId=CHANNELID
.
【讨论】:
谢谢,@stvar,上面的 URL 在 channelId 参数更改后可以工作,但你能告诉我我是对的还是这种方式适合搜索订阅者的数据? 据我所知,您期望从 YouTube 数据 API 获得的数据类型(频道的用户性别、原籍国和其他此类信息)无法通过 API 端点获得。当然,谷歌实际上可以推断并将此类信息附加到任何给定的频道,但是,据我所知,这种敏感数据并不提供给普通用户/开发人员群。 【参考方案2】:您请求的数据类型属于通道的私有数据。只有当您是该频道的所有者(通过授权 - Oauth2)或频道所有者允许您通过公开可用的应用程序访问该数据(经过授权后)时,您才能访问此类数据。
【讨论】:
以上是关于如何使用 YouTube Analytics API 获取任何 Youtube 频道的订阅用户列表及其详细信息?的主要内容,如果未能解决你的问题,请参考以下文章
10月31日V1被取消后,如何继续使用PHP客户端库'googleapis / google-api-php-client'访问'Youtube Analytics API
如何配置我的 localhost 以从 Youtube API 请求数据?
查询 YouTube Analytics API .NET 时返回 403 禁止错误
YouTube Analytics API 是不是只是为您提供频道的统计信息?