搜索插件、代码仓与 APP 分类

插件详情v1.0.4

youtube_data_api

一个用于从 YouTube 获取完整数据的 Flutter 包。支持搜索、热门内容、频道、播放列表和视频数据。

AndroidiOSWebmacOSWindowsLinux
近 30 天下载
28
喜欢数
61
Pub 分数
140

安装插件

flutter pub add youtube_data_api

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

一个 Flutter 包,可实现与 YouTube Data API 的无缝集成,使开发者能够获取全面的 YouTube 数据,例如视频、频道、播放列表、热门内容和搜索结果。专为跨平台使用而设计,支持 Android、iOS、Web、macOS、Windows 和 Linux。该包通过简洁直观的方法简化了 API 交互,非常适合需要实时获取 YouTube 内容的应用程序。由 exacode.xyz 维护,并托管在 GitHub 上,以确保透明度和社区贡献。

适合场景

  • 获取热门视频
  • 搜索 YouTube 内容
  • 正在获取频道信息
  • 加载播放列表详情
  • 显示视频元数据
  • 构建 YouTube 发现功能

主要特点

  • 支持多种YouTube数据类型
  • 跨平台兼容性
  • 简洁、易于使用的 API
  • 实时数据获取
  • 开源且文档齐全
  • 专为 Flutter 应用程序设计

适合对象

  • 基于YouTube的应用程序
  • 内容发现工具
  • 视频聚合平台
  • 带有视频内容的教育类应用程序
  • 媒体丰富的应用程序

使用建议

  • 需要有效的 YouTube Data API 密钥
  • 根据API使用情况应用速率限制
  • 网络连接用于数据检索
  • 可能需要处理分页
  • 依赖外部API的稳定性

原始 README

以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。

YouTube Data API

pub package

A Flutter package for fetching complete data from YouTube. Supports Search, Trending, Channels, Playlists and Video Data.

Features

  • Search Video, Playlist, Channel on YouTube with (Unlimited Videos With Loading More) feature.
  • Get Video Data, Id, Thumbnail, Channel Name, Views, Likes, Description
  • Get Related Videos with a video
  • Get Playlist Videos with (Loading More) feature
  • Get Channel complete data (Name, Id, Banner, Avatar, Videos Count, Subscribers Count, Videos with (Loading More) feature)
  • Search Suggestions
  • Get Trending Videos based on your ip country (Trending, Music, Gaming, Movies).

Usage

To use this plugin, add youtube_data_api as a dependency in your pubspec.yaml file.

Complete Example Code

Example

To search for videos or channels or playlists

String query = "Wegz";
YoutubeDataApi youtubeDataApi = YoutubeDataApi();
List videoResult = await youtubeDataApi.fetchSearchVideo(query);
videoResult.forEach((element){
    if(element is Video){
      Video video = element;
    } else if(element is Channel){
      Channel channel = element;
    } else if(element is PlayList){
      PlayList playList = element;
    }
});

To get trending videos

YoutubeDataApi youtubeDataApi = YoutubeDataApi();
List<Video> videos = await youtubeDataApi.fetchTrendingVideo();

To get gaming, music, movies videos on trend

List<Video> trendingMusicVideos = await youtubeDataApi.fetchTrendingMusic();
List<Video> trendingGamingVideos = await youtubeDataApi.fetchTrendingGaming();
List<Video> trendingMoviesVideos = await youtubeDataApi.fetchTrendingMovies();

To get suggestion search queries

String query = "El Joker";
List<String> suggestions = await youtubeDataApi.fetchSuggestions(query);

To get video data

VideoData? videoData = await youtubeDataApi.fetchVideoData(videoId);
String? videoTitle = videoData?.video?.title;
String? videoChannelName = videoData?.video?.username;
String? viewsCount = videoData?.video?.viewCount;
String? likeCount = videoData?.video?.likeCount;
String? channelThumbnail = videoData?.video?.channelThumb;
String? channelId = videoData?.video?.channelId;
String? subscribeCount = videoData?.video?.subscribeCount;
List<Video?>? relatedVideos = videoData?.videosList;

所属分类

依赖

依赖清单 4 项

源码仓库

使用此插件的项目

暂无相关数据。