Получение списка каналов YouTube для аутентифицированного пользователя

Я пытаюсь отобразить данные аналитики YouTube в приложении.Net (в частности, Asp.net MVC 4) с помощью клиента google api .net.

Единственным примером, который я смог найти для этого, был пример JavaScript, размещенный здесь для большинства частей, которые я смог воссоздать в.Net . Единственная проблема заключается в том, что мне кажется, что я не могу найти аналог для этих строк код, который возвращает список каналов для аутентифицированного пользователя:

 var request = gapi.client.youtube.channels.list({
      // "mine: true" indicates that you want to retrieve the authenticated user's channel.
      mine: true,
      part: 'id,contentDetails'
    }); 

который должен быть использован здесь в моем коде:

 var request = youtubeAnalyiticsService.Reports.Query(
                    "channel=="+ channelId, fromDate, toDate, 
                    "views,likes,dislikes" // metrics to include in report 
                    );

Сейчас я пытаюсь заставить его работать, скопировать и вставить здесь идентификатор канала и, следовательно, "жестко закодировать" его, что в моем случае нецелесообразно и используется только для целей тестирования.

Надеюсь, я ошибаюсь, но после долгих поисков я думаю, что.Net API может не хватать этой части, кто-нибудь может это подтвердить? и если правда, есть ли альтернативы для этого в приложении.net?

Я также предполагаю, что может быть простой способ просто использовать эту часть кода JavaScript в приложении.net, но я не уверен, как!

Любая помощь, подсказка или уточнение будет высоко ценится:)

1 ответ

Решение

Это должно работать, если вы уже установили OAuth 2 и youtube это YouTubeService объект, который был должным образом авторизован:

ChannelsResource.ListRequest channelsListRequest = youtube.Channels.List("id");
channelsListRequest.Mine = true;
ChannelListResponse channelsListResponse = channelsListRequest.Fetch();
string channelId = channelsListResponse.Items[0].Id;
Другие вопросы по тегам