Youtube Data API C# - 无需请求用户凭据即可使用

Posted

技术标签:

【中文标题】Youtube Data API C# - 无需请求用户凭据即可使用【英文标题】:Youtube Data API C# - use without requesting user credentials 【发布时间】:2020-09-02 05:07:24 【问题描述】:

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

【问题讨论】:

【参考方案1】:

如果您想检索公共播放列表的信息(标题、缩略图),您只需要一个 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)));
        
    

希望能帮到你!

【讨论】:

以上是关于Youtube Data API C# - 无需请求用户凭据即可使用的主要内容,如果未能解决你的问题,请参考以下文章

通过 YouTube 数据 API 访问公共数据,无需身份验证。

使用 Youtube Api v3 和 oauth2 将视频上传到我的 Youtube 频道,无需用户身份验证

无需最终用户身份验证的 Youtube API v3

如何使用 C# 中的 Youtube API 将视频上传到 YouTube?

使用访问令牌 - 调用 YouTube 数据 API C#

php Youtube Data API v3