Git Product home page Git Product logo

Comments (7)

JackDyre avatar JackDyre commented on September 15, 2024

I figured out that you must input a playlist ID rather than a URL

From the docs:

Spotipy supports a number of different ID types:

Spotify URI - The resource identifier that you can enter, for example, in the Spotify Desktop client’s search box to locate an artist, album, or track. Example: spotify:track:6rqhFgbbKwnb9MLmUQDhG6
Spotify URL - An HTML link that opens a track, album, app, playlist or other Spotify resource in a Spotify client. Example: http://open.spotify.com/track/6rqhFgbbKwnb9MLmUQDhG6
Spotify ID - A base-62 number that you can find at the end of the Spotify URI (see above) for an artist, track, album, etc. Example: 6rqhFgbbKwnb9MLmUQDhG6

In general, any Spotipy method that needs an artist, album, track or playlist ID will accept ids in any of the above form

Should this method only accept an IDs and not URLS?

from spotipy.

dieser-niko avatar dieser-niko commented on September 15, 2024

Yep, I know about this already. This part of the docs is somewhat misleading because normally spotipy converts URLs automatically (with Spotify._get_id), but this conversion doesn't happen everywhere. @stephanebruckert is there a reason for that?

from spotipy.

dieser-niko avatar dieser-niko commented on September 15, 2024

Oh, sorry, I just realised I didn't read your question properly. Deleting playlists is not directly possible.

This may sound silly (because it is imo), but Spotify believes that if you decide to delete your playlist, but there are some followers who like it, then the playlist won't actually be deleted, it will just be removed from your library.

You can try this yourself by creating a playlist, copying the link, deleting the playlist and then trying to access the playlist via the link. You will then have your playlist back.

I don't really know if the playlists will deleted at some point. If you go to the recover playlists, Spotify states that they will remove the playlist from the list after 90 days, but I can't confirm nor deny if this would delete the playlist for good.

So to answer your question: ChatGPT gave you the right answer. But for some reason, there's no URI validation, so just make sure that you're using 1Rqvqd7cI4AoeDn5Ei3mql instead of the whole link as an argument.

from spotipy.

JackDyre avatar JackDyre commented on September 15, 2024

Would the fix just be as simple as adding self._get_id("playlist", playlist_id) inside the f string in the current_user_unfollow_playlist() method?

For example:

    def current_user_unfollow_playlist(self, playlist_id):
        """ Unfollows (deletes) a playlist for the current authenticated
            user

            Parameters:
                - name - the name of the playlist
        """
        return self._delete(
            f"playlists/{self._get_id("playlist", playlist_id)}/followers"

Additionally, shouldn't the name param in the docstring be changed to playlist_id?

from spotipy.

stephanebruckert avatar stephanebruckert commented on September 15, 2024

That should do it @JackDyre, would you be up to open a PR for it?

from spotipy.

JackDyre avatar JackDyre commented on September 15, 2024

Sure!

from spotipy.

JackDyre avatar JackDyre commented on September 15, 2024

Is there a reason why _get_id() and similar methods are private? I don't understand why they are even methods of Spotify in the first place. Being able to convert between IDs and URIs seems like it would be useful to have in a project.

from spotipy.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.