我尝试使用Youtube数据API检索我的Youtube频道名称,但我得到空项目。我的Youtube帐户中有一个频道,因此它应该返回一个频道。
这些是我输入的查询属性 -
part:'contentDetails', forUsername: 'Seong+Lee',
从他们的互动documentation页面获得以下回复。
200 OK
- SHOW HEADERS -
{
"kind": "youtube#channelListResponse",
"etag": "\"fpJ9onbY0Rl_LqYLG6rOCJ9h9N8/C3QZ-VsykvkpW2zCm7VjGBCayqc\"",
"pageInfo": {
"totalResults": 0,
"resultsPerPage": 5
},
"items": [
]
}
在我的应用程序中,我得到相同的回复,所以我认为我的请求代码没有问题。为什么我无法获得频道名称?
答案 0 :(得分:4)
您可以使用频道ID检索contentDetails
。
GET https://www.googleapis.com/youtube/v3/channels?part=contentDetails&id=UCwy6X3JB24VTsDFqMwdO5Jg&key={YOUR_API_KEY}
您的用户名显然无效。
答案 1 :(得分:4)
由于您的频道看起来没有旧版自定义网址,因此您无法使用/user/{channelname}
参数。此参数仅适用于snippet
网址。在这种情况下,这意味着您必须使用通过here找到的频道ID。
要获取频道的显示名称,您需要https://www.googleapis.com/youtube/v3/channels?part=snippet&id=UCwy6X3JB24VTsDFqMwdO5Jg&key={YOUR_API_KEY}
部分而不是contentDetails。
snippet.title
然后,您将收到频道的显示名称{
kind: "youtube#channelListResponse",
etag: ""0KG1mRN7bm3nResDPKHQZpg5-do/L4uU6pmZJ1wQKdGUwnnigYpSEVo"",
pageInfo: {
totalResults: 1,
resultsPerPage: 1
},
items: [
{
kind: "youtube#channel",
etag: ""0KG1mRN7bm3nResDPKHQZpg5-do/GKVRHf7CLp-mUGFTR_3wbc5Lq-k"",
id: "UCwy6X3JB24VTsDFqMwdO5Jg",
snippet: {
title: "Seong Lee",
...
{{1}}
答案 2 :(得分:0)
如果您使用Google的oauth2对应用程序进行身份验证,则可以在请求中接收自己的频道时,将mine参数设置为true。检查common use cases here以获得更多信息。
另请参阅this answer