HowTo : Node Red - Contrôler Spotify depuis NodeRed

Ce que j'apprécie vraiment chez Spotify, c'est la bonne connectivité. Vous pouvez lire ou contrôler de la musique ou des podcasts sur un autre appareil en quelques clics.

Grâce à l'option gratuite de configuration de l'accès développeur, vous pouvez également accéder à plusieurs de ces fonctions depuis NodeRed. Avec quelques nœuds intelligemment liés, vous pouvez facilement créer votre propre « télécommande Spotify » pour (par exemple) le tableau de bord.

Bien sûr, les options de contrôle ne se limitent pas au tableau de bord. Vous pouvez également déclencher l'option de contrôle, par exemple, via des boutons connectés ou d'autres options. 🙂

Vous pouvez trouver une première approche à ce sujet dans l'article suivant.


Conditions préalables

Articles utiles :
Pour que vous puissiez installer de nouveaux nœuds, NodeRed doit bien sûr déjà être installé.
Comment préparer un RaspberryPi puis installer NodeRed dessus est décrit dans les articles suivants.

Les trois articles suivants décrivent ce qu'il faut faire pour préparer le RaspberryPi :

Outil requis :
-Non-

Matériel requis :

Dans la liste suivante, vous trouverez toutes les pièces dont vous avez besoin pour mettre en œuvre cet article.


Connectez-vous à l'interface de configuration de NodeRed

Avant de pouvoir modifier votre configuration NodeRed, vous devez - si activé - vous connecter d'abord à l'interface de configuration NodeRed.

Vue de la boîte de dialogue de connexion. Ici, vous devez entrer les données de connexion que vous avez spécifiées lors de la configuration de la connexion. Vous trouverez des informations à ce sujet dans l'article NodeRed - configurer la connexion de l'utilisateur.

action de grâces

Tout d'abord merci à gelo2002 pour son débit. Le NodeCode proposé ci-dessous est basé sur son code partagé gratuitement. Je viens d'ajouter quelques extensions (je pense utiles). Cependant, gelo2002 a fait le gros du travail. 🙂

Des informations sur son flux peuvent être trouvées ici:
https://gist.github.com/gelo2002/1727790dfc3f6bac8c5b39f5a952b804
ou ici
https://flows.nodered.org/flow/1727790dfc3f6bac8c5b39f5a952b804


Activer le compte développeur Spotify

Afin de pouvoir contrôler les différentes fonctions de votre compte Spotify, vous devez d'abord configurer un compte développeur pour votre compte Spotify. Cela ne coûte rien et se fait en quelques clics. 🙂

Pour ce faire, passez à la page d'accueil de votre portail de développeur Spotify. Vous pouvez le faire via le lien suivant :

https://developer.spotify.com/dashboard/

Après vous être connecté avec les détails de votre compte, vous devez d’abord accepter ou confirmer les « Conditions générales ».

Cliquez ensuite sur « Créer une application »…

...et entrez un nom et une description appropriée pour celui-ci. Vous pouvez choisir les deux comme vous le souhaitez, mais bien sûr, ils doivent être raisonnablement significatifs. 🙂

Vous serez alors redirigé vers l’aperçu de cette « app » (c’est ainsi que Spotify appelle les accès développeurs qui ont été mis en place). Vous y trouverez déjà le « ClientID » et le « ClientSecret » sur le côté gauche. Vous aurez besoin des deux plus tard que ce que vous avez déjà écrit.

Après avoir cliqué sur « Modifier les paramètres » dans l'aperçu, vous serez dirigé vers la vue affichée. Vous devez maintenant y entrer le « Uri de redirection » approprié. Cet Uri de redirection dépend de l'adresse de votre serveur NodeRed.

Est-ce, par exemple, à l'adresse https://server.fritz.box accessible, l'URI de redirection serait :

https://server.fritz.box:1880/spotify-credentials/auth/callback

Assurez-vous de sélectionner le bon protocole (c'est-à-dire http ou https).

Une fois le bon lien renseigné, il ne vous reste plus qu'à cliquer sur « Ajouter » et (plus bas) sur « Enregistrer ».


Insérer le code du nœud

Passons maintenant au NodeCode actuel. Cela inclut le contrôle des fonctions les plus simples dans le formulaire ci-dessous. Ainsi, vous pouvez mettre en pause et reprendre la lecture, sélectionner la piste suivante ou précédente, faire défiler la chanson et également voir la couverture de l'album.

Comme toujours, vous pouvez trouver le NodeCode dans la partie suivante et également dans le référentiel Nerdiy Git à :

Vue du flux NodeRed.
Vue du tableau de bord.

Saisir les données d'accès au compte dans NodeRed

Après avoir créé un accès développeur à votre Spotify et inséré le NodeCode, vous pouvez maintenant passer à votre configuration NodeRed. Cliquez sur l'un des nœuds Spotify et commencez à y configurer un nouvel accès.

Vous devez maintenant saisir votre ClientID dans le champ de texte à côté de « ClientID » et votre secret client dans le champ de texte à côté de « Client secret ».

Vous pouvez trouver les deux à l'étape précédente dans votre accès Spotify Developer.

Ensuite, vous devez saisir les « Portées » souhaitées. Les étendues représentent les services que vous souhaitez contrôler depuis NodeRed.

Pour ce flux ici, vous pouvez saisir les champs d'application suivants :

streaming utilisateur-suivre-modifier utilisateur-lire-en-cours-de-lecture utilisateur-modifier-état de lecture

Une liste complète peut être trouvée à: https://developer.spotify.com/documentation/general/guides/authorization/scopes/

Dès que vous avez renseigné les scopes, il ne vous reste plus qu'à cliquer sur « Démarrer l'authentification ».

Cela ouvre une nouvelle fenêtre dans laquelle vous devez maintenant confirmer que vous autorisez votre accès NodeRed à votre compte Spotify.

Si vous recevez un message d'erreur à ce stade, vous pouvez trouver une solution dans le paragraphe « Solution à l'erreur « INVALID_CLIENT : URI de redirection invalide ». 🙂

Après avoir confirmé cela, vous serez redirigé vers un site Web où seul le court message « Spotify : autorisé » sera affiché.


Solution pour l'erreur « INVALID_CLIENT : URI de redirection non valide »

J'ai trouvé la solution au message d'erreur : INVALID_CLIENT : URI de redirection non valide ici : https://github.com/pckhib/node-red-contrib-spotify/issues/16

En principe, l’erreur est causée par le fait que « l’URI de redirection » n’a pas été configuré correctement dans le compte développeur. Pour obtenir l’URI de redirection correct, vous pouvez utiliser l’astuce suivante.

Entrez votre URI dans le décodeur d'URL (https://www.urldecoder.org/) et laissez-les décoder.

La partie marquée dans le champ inférieur correspond alors à l'URI de redirection, que vous devez saisir dans votre compte Spotify.


La lecture de Spotify saute ou bégaie parfois

De temps en temps, il m'arrive que la lecture sur l'un de mes appareils (peu importe lequel) saute ou s'arrête. Grâce à des tests, j'ai découvert que cela semble être lié à la liaison du compte Spotify avec des services externes (par exemple le NodeCode présenté ici).

Rétrospectivement, je l'explique ainsi : étant donné que Spotify souhaite synchroniser les données de lecture de tous les participants connectés, je peux imaginer qu'un participant qui répond trop lentement pourrait désynchroniser cette synchronisation.

Pour faire court : si vous remarquez également cette erreur : pour moi, cela a aidé à redémarrer l'ordinateur sur lequel NodeRed est exécuté ou, dans le « pire des cas », à dissocier le compte Spotify.


Amusez-vous avec le projet

J'espère que tout a fonctionné comme décrit. Si ce n'est pas le cas ou si vous avez des questions ou des suggestions, faites-le moi savoir dans les commentaires. Je les ajouterai à l'article si nécessaire.
Les idées de nouveaux projets sont toujours les bienvenues. 🙂

PS Beaucoup de ces projets - en particulier les projets matériels - coûtent beaucoup de temps et d'argent. Bien sûr, je le fais parce que j'aime ça, mais si vous pensez que c'est cool que je partage l'information avec vous, je serais heureux d'un petit don au fonds du café. 🙂

Achetez-moi un café sur ko-fi.com       

7 commentaires

  1. Avez-vous réussi à faire fonctionner le transfert de lecture vers un autre appareil ? Dans l'avant-dernière version, vous avez simplement envoyé bêtement l'ID de l'appareil et la commande de lecture à l'API TransferMyPlayback - maintenant, rien ne s'y passe.

    1. Salut Steven,
      Je ne l'ai pas encore essayé en fait. Avez-vous vérifié l'API Spotify pour voir s'il y a des informations à ce sujet ?
      Cordialement
      Fabien

  2. Salut Fab,

    Je me demandais comment sélectionner une liste de lecture ou une chanson pour commencer ? Je suis un peu confus à ce sujet. Il semble que vous ayez déjà configuré le nœud Spotify pour obtenir une liste de lecture/chanson.

    1. Salut Assad,
      actuellement, je l'utilise uniquement pour afficher les informations de la chanson en cours de lecture. La sélection de la chanson et co se fait via l'application smartphone/bureau de spotify. Néanmoins, il est également possible de le faire via le nœud spotify. 🙂
      cordialement
      Fab

      1. Merci pour votre réponse. Je suis un peu confus quant à la façon dont vous activeriez cela. Il ne semble pas y avoir de manière spécifique de le faire. Avez-vous un tutoriel qui sélectionne la chanson via le nœud spotify ?

        merci,
        Assad

        1. Salut Assad,
          Pas encore, malheureusement). Mais je vais le mettre sur ma liste et essayer de préparer quelque chose comme ça bientôt. 🙂
          cordialement
          Fab

Kommentar hinterlassen

Votre adresse e-mail ne sera pas publiée. Erforderliche Felder sind mit * markiert

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.