Как получить плейлист Spotify без имени пользователя? - PullRequest
0 голосов
/ 06 декабря 2018

Основной Python API "spotipy" (https://spotipy.readthedocs.io/en/latest/) позволяет получать плейлисты только при наличии имени пользователя и идентификатора плейлиста.

Я хочу извлечь треклист только с помощью идентификатора плейлиста или URI илиURL. Никакого имени пользователя не требуется.

Я думаю, что это возможно, глядя на справочную страницу Получить плейлист, но я не могу расшифровать его - https://developer.spotify.com/documentation/web-api/reference/playlists/get-playlist/

Не могли бы вы направить меня в правильном направлении нахотя бы пожалуйста?

1 Ответ

0 голосов
/ 02 января 2019

Я не уверен на 100% в синтаксисе python (извините, если он не совсем правильный), но не могли бы вы добавить дополнительный метод в ваш локальный файл spotipy/client.py?Это было бы очень похоже на user_playlist/user_playlist_tracks, но обошло бы необходимость ввода идентификатора пользователя.

, что-то вроде:

    def user_playlist_custom(self, playlist_id=None, fields=None):
        """ Gets playlist of a user
            Parameters:
                - playlist_id - the id of the playlist
                - fields - which fields to return
        """
        plid = self._get_id('playlist', playlist_id)
        return self._get("playlists/%s" % (plid), fields=fields)

или только дорожки:

    def user_playlist_tracks_custom(self, playlist_id=None, fields=None,
                             limit=100, offset=0, market=None):
        """ Get full details of the tracks of a playlist owned by a user.
            Parameters:
                - playlist_id - the id of the playlist
                - fields - which fields to return
                - limit - the maximum number of tracks to return
                - offset - the index of the first track to return
                - market - an ISO 3166-1 alpha-2 country code.
        """
        plid = self._get_id('playlist', playlist_id)
        return self._get("playlists/%s/tracks" % (plid),
                         limit=limit, offset=offset, fields=fields,
                         market=market)
...