soco.music_services.accounts module

This module contains classes relating to Third Party music services.

class soco.music_services.accounts.Account[source]

An account for a Music Service.

Each service may have more than one account: see the Sonos release notes for version 5-2

service_type

A unique identifier for the music service to which this account relates, eg '2311' for Spotify.

Type:

str

serial_number

A unique identifier for this account

Type:

str

nickname

The account’s nickname

Type:

str

deleted

True if this account has been deleted

Type:

bool

username

The username used for logging into the music service

Type:

str

metadata

Metadata for the account

Type:

str

oa_device_id

Used for OpenAuth id for some services

Type:

str

key

Used for OpenAuthid for some services

Type:

str

classmethod get_accounts(soco=None)[source]

Get all accounts known to the Sonos system.

Parameters:

soco (SoCo, optional) – a SoCo instance to query. If None, a random instance is used. Defaults to None.

Returns:

A dict containing account instances. Each key is the account’s serial number, and each value is the related Account instance. Accounts which have been marked as deleted are excluded.

Return type:

dict

Note

Any existing Account instance will have its attributes updated to those currently stored on the Sonos system.

classmethod get_accounts_for_service(service_type)[source]

Get a list of accounts for a given music service.

Parameters:

service_type (str) – The service_type to use.

Returns:

A list of Account instances.

Return type:

list