This bundle provides a simple integration of the calliostro/php-discogs-api into Symfony 5 or 6. You can find more information about this library on its dedicated page at https://www.discogs.com/developers.
Make sure Composer is installed globally, as explained in the installation chapter of the Composer documentation.
Open a command console, enter your project directory and execute:
$ composer require calliostro/discogs-bundle
Open a command console, enter your project directory and execute the following command to download the latest stable version of this bundle:
$ composer require calliostro/discogs-bundle
Then, enable the bundle by adding it to the list of registered bundles
in the config/bundles.php
file of your project:
// config/bundles.php
return [
// ...
Calliostro\DiscogsBundle\CalliostroDiscogsBundle::class => ['all' => true],
];
This bundle provides a single service for communication with Discogs API, which you can autowire by using the Discogs
type-hint:
// src/Controller/SomeController.php
use Discogs\DiscogsClient;
// ...
class SomeController
{
public function index(DiscogsClient $discogs)
{
$artist = $discogs->getArtist([
'id' => 8760,
]);
echo $artist['name'];
// ...
}
}
For configuration create a new config/packages/calliostro_discogs.yaml
file. The default values are:
# config/packages/calliostro_discogs.yaml
calliostro_discogs:
# Freely selectable and valid HTTP user agent identification (required)
user_agent: 'CalliostroDiscogsBundle/2.0 +https://github.com/calliostro/discogs-bundle'
# Your consumer key (recommended)
consumer_key: ~
# Your consumer secret (recommended)
consumer_secret: ~
throttle:
# If activated, a new attempt is made later when the rate limit is reached
enabled: true
# Number of milliseconds to wait until the next attempt when the rate limit is reached
microseconds: 1000000
oauth:
# If enabled, full OAuth 1.0a with access token/secret is used
enabled: false
# You can create a service implementing OAuthTokenProviderInterface (HWIOAuthBundle is supported by default)
token_provider: calliostro_discogs.hwi_oauth_token_provider
To access protected endpoints and get a higher rate limit, you must enable OAuth. For this, you must register for at
least consumer_key
and consumer_secret
at https://www.discogs.com/de/applications/edit.
To access current user information, you also need a user token. Discogs supports only OAuth 1.0a for user authorization.
You should use a third-party library for this. This bundle provides support for
hwi/HWIOAuthBundle. The token_provider
does not need to be changed in
configuration file if you use the HWIOAuthBundle.
See calliostro/php-discogs-api for documentation of the Discogs Client.
Further documentation can be found at the Discogs API v2.0 Documentation.
You find an example in calliostro/discogs-bundle-demo.
Implemented a missing feature? You can request it. And creating a pull request is an even better way to get things done.
For the integration of Discogs into Symfony 2, see ricbra/RicbraDiscogsBundle, which this is based on.