mgkprod/ytmusicapi

YouTube Music的非官方API

1.0.0 2020-12-23 01:49 UTC

This package is auto-updated.

Last update: 2024-09-23 11:01:24 UTC


README

Latest Version on Packagist MIT Licensed GitHub Tests Action Status Total Downloads

一个正在开发中的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)。有关更多信息,请参阅许可文件