marcel-strahl / spotify-web-api-client
用于与Spotify API交互的PHP客户端
dev-main
2023-01-26 22:40 UTC
Requires
- php: ^8.0|^8.1
- ext-curl: *
- ext-json: *
- ext-simplexml: *
- guzzlehttp/guzzle: ^7.4
- guzzlehttp/psr7: ^2.1
- laminas/laminas-diactoros: ^2.8
- psr/http-message: ^1.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.6
- phpstan/phpstan: ^1.4
- phpstan/phpstan-phpunit: ^1.0
- phpstan/phpstan-webmozart-assert: ^1.0
- phpunit/phpunit: ^9.5
- psalm/plugin-phpunit: ^0.16.1
- roave/security-advisories: dev-latest
- vimeo/psalm: ^4.20
This package is auto-updated.
Last update: 2024-09-27 02:01:21 UTC
README
重要提示
该包目前正在开发alpha版本,仅提供简单的后端登录(客户端凭据流:https://developer.spotify.com/documentation/general/guides/authorization/client-credentials/)以及通过Track-ID获取歌曲。
下一步计划
未来,我们希望提供所有3种授权的认证,以及可以与Spotify Web应用程序的所有端点通信的客户端。
使用方法
<?php declare(strict_types=1); use Laminas\Diactoros\RequestFactory; use MarcelStrahl\SpotifyWebApiClient\Client\WebApiClient; use MarcelStrahl\SpotifyWebApiClient\Facade\SpotifyQrClientFacade; use MarcelStrahl\SpotifyWebApiClient\Facade\WebApiAuthFacade; use MarcelStrahl\SpotifyWebApiClient\Facade\WebApiClientFacade; use MarcelStrahl\SpotifyWebApiClient\Model\Credentials; use MarcelStrahl\SpotifyWebApiClient\Model\SpotifyQrClient\QrCodePreference; use Webmozart\Assert\Assert; require __DIR__ . '/../vendor/autoload.php'; $requestFactory = new RequestFactory(); $facade = new WebApiAuthFacade($requestFactory); $authenticationClient = $facade->buildInstance(); $accessToken = $authenticationClient->loadAccessToken(Credentials::create([ 'clientId' => '', 'clientSecret' => '', ])); $apiFacade = new WebApiClientFacade($requestFactory); $webApiClient = $apiFacade->buildInstance($accessToken); Assert::isInstanceOf($webApiClient, WebApiClient::class); $track = $webApiClient->getTrackById('4xkOaSrkexMciUUogZKVTS'); $qrClientFacade = new SpotifyQrClientFacade($requestFactory); $qrClient = $qrClientFacade->buildInstance(); $qrClient->fetchQrCode(QrCodePreference::create( '000000', QrCodePreference::BAR_COLOR_WHITE, 640, QrCodePreference::FORMAT_JPEG, $track->getUri(), )); var_dump($track, $file);
贡献
这个库正在积极开发中。如果您遇到错误,有改进或增强的建议,或者想要实现,您可以打开一个问题。
如果您想对文档或报告的错误或建议的功能进行工作,您可以通过在GitHub上创建分支并后来提交pull请求来做到这一点。如果您在任何时候需要帮助,请不要犹豫,寻求帮助。