2014-01-21 1 views
0

Спасибо, я очень ценю вашу помощь!Список плейлистов Google API DotNet Youtube не работает, нет списка воспроизведения

Я пытаюсь заставить клиента Google API Google работать, но я не могу понять, как делать даже простые вещи. Моя цель состоит в том, чтобы иметь веб-страницу, которая загружает плеер плейлиста youtube вверху и просто выводит информацию о других дорожках ниже.

Не могли бы вы помочь мне преодолеть первый горб только для того, чтобы заставить клиента бежать?

У меня есть экземпляр веб-сайта .NET 4.0, и я установил DotNet API Google через диспетчер пакетов nuget. Я думаю, проблема в том, что я не могу понять, как передать PlaylistID на запрос клиента. Где в приведенном ниже коде я могу указать Плейлист?

Imports Google.Apis.YouTube.v3 
Imports Google.Apis.YouTube.v3.Data 

Dim Initialiser As New Google.Apis.Services.BaseClientService.Initializer() 
Initialiser.ApiKey = "My Server API Key" 
Dim Service As YouTubeService = New YouTubeService(Initialiser) 
Dim Result As PlaylistItemListResponse 
Result = Service.PlaylistItems().List("snippet").Execute() 
If Not Result.Items Is Nothing Then 
    Dim XPathDocument As System.Xml.XPath.XPathDocument = GenerateXPathDocument(Result.Items) 
    SamplerXml.XPathNavigator = XPathDocument.CreateNavigator 
End If 

Выход Ошибка:

2014-01-21 12:14:30.1894 Error ASP.global_asax 
Application_Error: GET /sampler/120 
BaseExceptionType: Google.GoogleApiException 
    Type=System.Web.HttpUnhandledException 
    Message=Exception of type 'System.Web.HttpUnhandledException' was thrown. 
    Stack= 
at System.Web.UI.Page.HandleError(Exception e) 
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) 
at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) 
at System.Web.UI.Page.ProcessRequest() 
at System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) 
at System.Web.UI.Page.ProcessRequest(HttpContext context) 
at ASP.templates_sampler_default_aspx.ProcessRequest(HttpContext context) 
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) 

Type=Google.GoogleApiException 
Message=Google.Apis.Requests.RequestError 
No filter selected. [400] 
Errors [ 
    Message[No filter selected.] Location[ - parameter] Reason[missingRequiredParameter] Domain[youtube.parameter] 
] 

Stack= 
at Google.Apis.Requests.ClientServiceRequest`1.Execute() in c:\code\google.com\google-api-dotnet-client\default\Tools\Google.Apis.Release\bin\Debug\output\default\Src\GoogleApis\Apis\Requests\ClientServiceRequest.cs:line 93 
at SiteCode.Templates.Sampler.Page_Load(Object sender, EventArgs e) in C:\svn-work\playlistproject\site\templates\sampler\Default.aspx.vb:line 54 
at System.EventHandler.Invoke(Object sender, EventArgs e) 
at System.Web.UI.Control.OnLoad(EventArgs e) 
at System.Web.UI.Control.LoadRecursive() 
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) 

Спасибо за вашу помощь и ваше время!

ответ

0

Ответ оказался простым.

 Dim Initialiser As New Google.Apis.Services.BaseClientService.Initializer() 
     Initialiser.ApiKey = "My API Key" 
     Dim Service As Google.Apis.YouTube.v3.YouTubeService = New YouTubeService(Initialiser) 
     Dim Result As Google.Apis.YouTube.v3.Data.PlaylistItemListResponse 
     Dim ListRequest As Google.Apis.YouTube.v3.PlaylistItemsResource.ListRequest 
     ListRequest = Service.PlaylistItems().List("snippet") 
     ListRequest.PlaylistId = "My Playlist ID" 
     Result = ListRequest.Execute() 
     If Not Result.Items Is Nothing Then 
      Dim XPathDocument As System.Xml.XPath.XPathDocument = GenerateXPathDocument(Result.Items) 
      SamplerXml.XPathNavigator = XPathDocument.CreateNavigator 
     End If 

Поэтому мне пришлось создать запрос списка, затем установить идентификатор списка воспроизведения, а затем выполнить запрос. Иногда я могу быть очень медленным ...

Надеюсь, это поможет кому-то еще!