跳转至

AlbumApi

modules.album.AlbumApi

AlbumApi(client: Client)

Bases: ApiModule

专辑相关 API.

Source code in qqmusic_api/modules/_base.py
def __init__(self, client: "Client") -> None:
    self._client = client

get_detail

get_detail(value: str | int)

获取专辑详细信息.

PARAMETER DESCRIPTION
value

专辑 ID 或 MID.

TYPE: str | int

Source code in qqmusic_api/modules/album.py
def get_detail(self, value: str | int):
    """获取专辑详细信息.

    Args:
        value: 专辑 ID 或 MID.
    """
    param: dict[str, Any] = {}
    if isinstance(value, int):
        param["albumId"] = value
    else:
        param["albumMId"] = value

    return self._build_request(
        module="music.musichallAlbum.AlbumInfoServer",
        method="GetAlbumDetail",
        param=param,
        response_model=GetAlbumDetailResponse,
    )

get_song

get_song(value: str | int, num: int = 10, page: int = 1)

获取专辑歌曲列表.

PARAMETER DESCRIPTION
value

专辑 ID 或 MID.

TYPE: str | int

num

返回结果数量.

TYPE: int DEFAULT: 10

page

页码.

TYPE: int DEFAULT: 1

Source code in qqmusic_api/modules/album.py
def get_song(self, value: str | int, num: int = 10, page: int = 1):
    """获取专辑歌曲列表.

    Args:
        value: 专辑 ID 或 MID.
        num: 返回结果数量.
        page: 页码.
    """
    param: dict[str, Any] = {
        "begin": num * (page - 1),
        "num": num,
    }
    if isinstance(value, int):
        param["albumId"] = value
    else:
        param["albumMid"] = value

    return self._build_request(
        module="music.musichallAlbum.AlbumSongList",
        method="GetAlbumSongList",
        param=param,
        response_model=GetAlbumSongResponse,
        pager_meta=PagerMeta(
            strategy=OffsetStrategy(offset_key="begin", page_size_key="num"),
            adapter=ResponseAdapter(total="total_num", count=lambda response: len(response.song_list)),
        ),
    )