google-api - Youtube 数据 API - /channels 端点不返回较小的用户
问题描述
我正在为音乐家创建一个网络应用程序。我想使用 Youtube Data API 让用户在我的应用程序中将他们的 Youtube 频道连接到他们的个人资料。我通过向类似于https://www.googleapis.com/youtube/v3/channels?part=snippet,statistics&forUsername=PewDiePie&key=[YOUR_API_KEY]
. 这很好用并返回这个 JSON:
{ "kind": "youtube#channelListResponse", "etag": "\"p4VTdlkQv3HQeTEaXgvLePAydmU/bj_rirVFbrVoTIOa6lCGdaXaG5M\"", "pageInfo": { "totalResults": 1, "resultsPerPage": 5 }, "items": [ { "kind": "youtube#channel", "etag": "\"p4VTdlkQv3HQeTEaXgvLePAydmU/Blp06js4r7j93y1EfKve84oXWpo\"", "id": "UC-lHJZR3Gqxm24_Vd_AJ5Yw", "snippet": { "title": "PewDiePie", "description": "I make videos.", "publishedAt": "2010-04-29T10:54:00.000Z", "thumbnails": { "default": { "url": "https://yt3.ggpht.com/a/AGF-l79FVckie4j9WT-4cEW6iu3gPd4GivQf_XNSWg=s88-c-k-c0xffffffff-no-rj-mo", "width": 88, "height": 88 }, "medium": { "url": "https://yt3.ggpht.com/a/AGF-l79FVckie4j9WT-4cEW6iu3gPd4GivQf_XNSWg=s240-c-k-c0xffffffff-no-rj-mo", "width": 240, "height": 240 }, "high": { "url": "https://yt3.ggpht.com/a/AGF-l79FVckie4j9WT-4cEW6iu3gPd4GivQf_XNSWg=s800-c-k-c0xffffffff-no-rj-mo", "width": 800, "height": 800 } }, "localized": { "title": "PewDiePie", "description": "I make videos." }, "country": "US" }, "statistics": { "viewCount": "24334379402", "commentCount": "0", "subscriberCount": "102000000", "hiddenSubscriberCount": false, "videoCount": "4054" } } ] }
我的应用程序的大多数用户将是较小的音乐家,可能只有不到 10k 的 youtube 订阅者。以我姐姐为例,这是她 youtube 频道的链接:https: //www.youtube.com/channel/UCe4Eogv2uGaKUe4x3VNrwsg。
每当尝试使用 API 搜索她的 Youtube 频道时https://www.googleapis.com/youtube/v3/channels?part=snippet,statistics&forUsername=Audrey_Chopin&key=[YOUR_API_KEY]
(以及替换Audrey_Chopin
为Audrey%20Chopin
或的变体Audrey+Chopin
)都不会产生任何结果:{ "kind": "youtube#channelListResponse", "etag": "\"p4VTdlkQv3HQeTEaXgvLePAydmU/zJL80hJ0IwMo5wddECFapC8I6Q4\"", "pageInfo": { "totalResults": 0, "resultsPerPage": 5 }, "items": [] }
.
不应该从该端点返回较小的用户吗?如果是这样,有什么方法可以让用户搜索他们的个人资料,而不强制用户进行 OAuth 过程,即登录他们的 Youtube 帐户?
解决方案
由于您知道用户的频道 ID,因此只需向 URL 上的频道端点发出查询:
https://www.googleapis.com/youtube/v3/channels?part=...&id=$CHANNEL_ID&key=$APP_KEY
,
并且您将获得附加到引用通道的所有公共(即非私人)信息——无需任何进一步的身份验证。当然,您可以根据需要指定part
参数。
另一方面,请注意,查询Search.List端点的snippet
part比查询Channels.List端点的part成本要高得多:100 对 5 个配额点。snippet
statistics
推荐阅读
- web-scraping - Scrapy 不加载页面
- ruby-on-rails - 为什么我在 structure.sql 中看到 `SET xmloption = content;`?
- record - 为什么记录中的字段不增加
- python - heapify 和 heappush 有什么区别?哪个更好?
- eclipse - 提供默认快捷方式来打开自定义 Eclipse 视图
- ios - 应用程序是否可以知道何时呼叫联系人或发送电子邮件?
- macos - 如何修复 macOS 中的 Bash 问题
- go - 运行 JSON 编码时是否可以排除已经是 JSON 的字段?
- batch-processing - 重新加载分区步骤以创建另一组线程
- sql - 如果满足第一行的条件,则拉另一行