mgkprod / ytmusicapi
YouTube Music的非官方API
1.0.0
2020-12-23 01:49 UTC
Requires
- php: ^7.4|^8.0
- guzzlehttp/guzzle: ^6.5.5|^7.0.1
- illuminate/support: ^8.0
Requires (Dev)
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^8.5.8|^9.3.3
README
一个正在开发中的API,模拟YouTube Music网页客户端的Web请求。
这是sigma67/ytmusicapi的一个端口,sigma67/ytmusicapi是一个用Python编写的非官方API实现。sigma67/ytmusicapi
这个包正在我的一个应用的生产环境中使用,我会尽力让它与YouTube Music客户端的最新更新保持同步。 我不会将YouTube Music API中不需要的功能移植到我的应用中。贡献是开放的!
功能
浏览:
- 搜索(包括所有过滤器)
- 获取艺术家信息和发行(歌曲、视频、专辑、单曲)
- 获取用户信息(视频、播放列表)
- 获取专辑
- 获取歌曲元数据
- 获取观看播放列表(在YouTube Music中按下播放时出现的播放列表)
要求
- PHP 7.4+和Laravel 8或更高版本
安装
您可以通过composer安装此包
composer require mgkprod/ytmusicapi
该包将自动注册自身。
您可以选择使用以下命令发布配置文件:
php artisan vendor:publish --provider="MGKProd\YTMusic\YTMusicServiceProvider" --tag="config"
使用
use MGKProd\YTMusic\Facades\YTMusic; // search in all $results = YTMusic::browse()->search('daft punk'); // filtered search (albums, artists, playlists, songs or videos) $artists = YTMusic::browse()->search('magenta', 'artists'); $songs = YTMusic::browse()->search('blizzard oddscure', 'songs'); // artist $artist = YTMusic::browse()->artist('MPLAUCmMUZbaYdNH0bEd1PAlAqsA'); // ... and his albums $albums = YTMusic::browse()->artistAlbums( $artist['albums']['browseId'], $artist['albums']['params'] ); // ... or his singles $singles = YTMusic::browse()->artistAlbums( $artist['singles']['browseId'], $artist['singles']['params'] ); // album $album = YTMusic::browse()->album('MPREb_BQZvl3BFGay'); // song $song = YTMusic::browse()->song('ZrOKjDZOtkA'); // user $user = YTMusic::browse()->user('UCPVhZsC2od1xjGhgEc2NEPQ'); // ... and his playlists $playlists = YTMusic::browse()->userPlaylists( 'UCPVhZsC2od1xjGhgEc2NEPQ', $user['playlists']['params'] );
有关使用示例,请参阅tests。
测试
composer test
变更日志
有关最近更改的更多信息,请参阅CHANGELOG。
贡献
有关详细信息,请参阅CONTRIBUTING。
安全
如果您发现任何与安全相关的问题,请通过sr@mgk.dev发送电子邮件,而不是使用问题跟踪器。
鸣谢
许可
MIT许可证(MIT)。有关更多信息,请参阅许可文件。