Youtube 数据 API C# - 在不请求用户凭据的情况下使用

Youtube Data API C# - use without requesting user credentials

我想在 C# - .Net Core - 中使用 YouTubeData API 而无需请求用户凭据。 我唯一需要从这个 API 中检索播放列表的信息,但是当我在本地主机上使用它时,它总是在请求用户的凭据。 我如何在没有任何凭据请求或使用我自己的令牌的情况下使用此 API?

如果要检索public播放列表的信息(标题、缩略图),您只需要一个API键。如果您想创建或编辑播放列表,您只需要对用户进行身份验证。

此示例程序通过 id 检索播放列表的标题和缩略图。

using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Google.Apis.Services;
using Google.Apis.YouTube.v3;

namespace YtbExample
{
    internal class PlayList
    {
        [STAThread]
        static void Main(string[] args)
        {
            try
            {
                new PlayList().Run().Wait();
            }
            catch (AggregateException ex)
            {
                foreach (var e in ex.InnerExceptions)
                {
                    Console.WriteLine("Error: " + e.Message);
                }
            }

            Console.WriteLine("Press any key to continue...");
            Console.ReadKey();
        }

        private async Task Run()
        {
            var youtubeService = new YouTubeService(new BaseClientService.Initializer()
            {
                ApiKey = "YOUR_API_KEY",
                ApplicationName = this.GetType().ToString()
            });

            var listRequest = youtubeService.Playlists.List("snippet");
            listRequest.Id = "PLdo4fOcmZ0oXzJ3FC-ApBes-0klFN9kr9";
            //Get playlists by channel id
            //listRequest.ChannelId = "";

            listRequest.MaxResults = 50;


            var listResponse = await listRequest.ExecuteAsync();

            List<string> playlists = new List<string>();

            // Add each result to the list, and then display the lists of
            // matching playlists.
            foreach (var result in listResponse.Items)
            {
                playlists.Add(String.Format("Title: {0}, Id: {1}, Thumbnail: {2}", result.Snippet.Title, result.Id, result.Snippet.Thumbnails.Medium.Url));
            }

            Console.WriteLine(String.Format("{0}\n", string.Join("\n", playlists)));
        }
    }
}

希望能帮到你!