C# 如果我知道显示名称,请查找YouTubeUserID

C# 如果我知道显示名称,请查找YouTubeUserID,c#,youtube-api,C#,Youtube Api,如果我只知道YouTube显示名称和API V2&C#,如何获取YouTube用户名? 我试过了 string userDetailsUrl = "https://gdata.youtube.com/feeds/api/users/{0}?alt=json"; string youtubeurl = String.Format(userDetailsUrl, formValues["[0].UserFullName"].Trim().Replace(" ", "")); 在UserFullNa

如果我只知道YouTube显示名称和API V2&C#,如何获取YouTube用户名? 我试过了

string userDetailsUrl = "https://gdata.youtube.com/feeds/api/users/{0}?alt=json";
string youtubeurl = String.Format(userDetailsUrl, formValues["[0].UserFullName"].Trim().Replace(" ", ""));

在UserFullName中,我给出了显示名称。但它并没有给我在所有情况下的确切结果。因此,请建议其他方法。

如果您确实还不能使用V3,您至少应该使用v2.1,请拨打以下电话:

https://gdata.youtube.com/feeds/api/users/{0}?alt=json&v=2.1
然后,在响应中,有效负载条目中会返回许多额外的属性,其中之一是:

author.yt$userId
最后,如果您不能使用v2.1,那么从上面提到的gdata请求中获取响应,并查看id属性。。。它的值如下所示:

http://gdata.youtube.com/feeds/api/users/_x5XG1OV2P6uZZ5FSM9Ttw

以URL的最后一个片段为例,在下划线前添加字母“UC”,您就可以开始了。

谢谢您的回复。我已经知道哪个元素将包含YT userid。我的问题是我将传递什么作为参数(对于'users/{0}'),因为我只知道用户的显示名称(它不是唯一的);不是唯一的用户名。我很抱歉。。。我以为你想从显示名中获取用户ID。如果您有userID,只需传递它,而不是全名或显示名,它也应该可以工作;它们被设计成可交换的,允许人们远离显示名称(正是因为你提到的原因…它们不是唯一的)。谢谢。我想你对我的评论感到困惑。我只知道用户的显示名称,例如:请在youtube上搜索“Sridhar Narayanan”。您可以看到5到6个同名的配置文件。我的问题是我是否知道“Sridhar Narayanan”,即用户的显示名称;如何找到我们的唯一用户ID?因此,如果您只知道显示名称,那么您必须向{display_name_HERE}发出GET请求?alt=json&v=2.1。。。如果有多个用户,您必须循环查看结果并应用某种逻辑来确定您真正想要的是哪一个。如果说你想在许多非唯一的显示名称中找到唯一的用户ID,那是不合逻辑的,因为YouTube无法猜测你真正想要的是哪一个。您最初从哪里获得displayName?也许那个来源可以给你们一些其他的东西来匹配吗?这个GET不起作用,它会告诉你们像找不到页面一样。事实上,我有一个应用程序,我们将获取YT视频与特定的关键字。我们将显示视频,显示上传视频的人的姓名,评论等。还有一个功能可以过滤掉一些用户,因为我们有一个数据输入屏幕,我们试图保存显示名称。我所做的是,因为显示名称不是唯一的,所以我尝试了一个获取唯一用户id的调用&保存在数据库中。所以我可以通过比较视频的作者ID和保存在DB中的唯一用户ID来过滤掉