Вы Tube Reporting API, используя учетную запись службы? - PullRequest
0 голосов
/ 29 апреля 2020

Хорошо, так что это простая вещь, которую я хочу сделать. Получите данные из аналитики YouTube, ограниченные датами и страной, и скопируйте их в базу данных для использования веб-приложением.

Большая часть того, что мне нужно, находится в одном из базовых c отчетов, однако я пытался найти все, что смог найти, но безрезультатно. Я пробовал вызовы API, но вам нужно пройти аутентификацию, поэтому я обнаружил, что служебные учетные записи будут подходить, но это не помогло. Видимо, вы не можете использовать служебные учетные записи для отчетности YouTube?

Это то, куда мне удалось добраться, даже если кто-то может указать мне правильное направление, я был бы благодарен, практически нет C# примеров, которые я мог бы найти.

Я не уверен, должен ли я использовать GoogleCredentials или ServiceAccountCredentials? Я просто хожу по кругу здесь

 private async Task Run()
        {
            var credential = GoogleCredential.FromStream(new FileStream("youtube-273413-d69362809d21.json", FileMode.Open))
                                                          .CreateScoped(YouTubeReportingService.Scope.YtAnalyticsReadonly);

            var saCreds = ServiceAccountCredential.FromServiceAccountData(new FileStream("youtube-273413-d69362809d21.json", FileMode.Open));

            var service = new YouTubeReportingService(new BaseClientService.Initializer()
            {
                HttpClientInitializer = credential
            });
            var job = new Job()
            {
                Name = "test",
                ReportTypeId = "channel_basic_a2"
            };

            Job createdJob = service.Jobs.Create(job).Execute();

            //https://developers.google.com/youtube/reporting/v1/reports/channel_reports
            var report = service.Jobs.Reports.Get("test", "channel_basic_a2");

            var result = await report.ExecuteAsync();
            //https://developers.google.com/identity/protocols/oauth2/web-server
        }
...