2016-09-15 114 views
-1

我在youtube上编写搜索功能。 我在“console.developers.google.com”上创建项目。名称项目是youtubesearch,我得到apiKey。 我有错误功能在youtube中搜索

“型 'Google.GData.Client.InvalidCredentialsException' 未处理的异常在 Google.GData.Client.dll发生” 在foreach循环 我的代码是:

private void getsearch(string serchFor) 
     { 
      YouTubeRequestSettings setting = new YouTubeRequestSettings("youtubesearch", "APIkey","[email protected]","password for my email"); 
      YouTubeRequest Request = new YouTubeRequest(setting); 
      YouTubeQuery query = new YouTubeQuery(YouTubeQuery.DefaultVideoUri); 
      query.OrderBy = "viewCount"; 
      query.Query = serchFor; 
      query.SafeSearch = YouTubeQuery.SafeSearchValues.Moderate; 
      Feed<Video> videofeed = Request.Get<Video>(query); 
      videoLookUp = new Dictionary<string, string>(); 
      foreach (Video v in videofeed.Entries) 
      { 
       if (v.Media.Content!=null) 
       { 
        Console.WriteLine(v.Title); 
        Console.WriteLine(v.Media.Content.Url); 
        comboBox1.Items.Add(v.Title); 
        videoLookUp.Add(v.Title,v.Media.Content.Url); 
       } 
      } 
} 

请检查对象的设置,如果我的参数是正确的,并告诉我,如果我在我的代码有任何proplem

+0

您可能需要创建应用密码https://security.google.com/settings/security/apppasswords并使用该密码。 – KSib

回答

0

虽然YouTube Data API(v2)已被正式弃用,但您可以在此documentation中查看如何使用.NET客户端库正确验证您的应用程序。这里还展示了如何正确使用YouTubeRequestSettings对象。

要使用YouTube API执行任何操作,请创建一个YouTubeRequestSettings对象,该对象指定要使用的身份验证信息和身份验证方案。使用该对象,然后创建一个YouTubeRequest对象,您将使用该对象来实际执行操作。 (如果在创建YouTubeRequestSettings对象时不指定认证信息,那么你将只能使用YouTubeRequest对象执行不需要身份验证操作。

YouTubeRequestSettings settings = 
new YouTubeRequestSettings("example app", clientID, developerKey); 
YouTubeRequest request = new YouTubeRequest(settings); 

欲了解更多信息和示例代码,请在此tutorial