Problem with using the CLI - error MAX_PER_MACHINE_USERS_EXCEEDED

google-music
google-music-scripts
#1

Good afternoon,

I am using your library and I really like it, it does exactly what I have been looking for. I have written some functions around it in PowerShell and it works really well, except that I am getting sometimes error (pasted below) MAX_PER_MACHINE_USERS_EXCEEDED. I am using the library to upload to two accounts and hope to extend it to more, let’s say to 20.

The error seems to be very intermittent, meaning I can run it well from my Mac but not from Windows computer. I have tried both versions 1.1.1 and 2.0.0 and I am getting the error in both. Would you be able to help me to understand this issue and fix it, please?

Thank you

Radek

[2018-11-30 18:07:08] Logging in to Google Music
Traceback (most recent call last):
File “c:\python37\lib\runpy.py”, line 193, in _run_module_as_main
main”, mod_spec)
File “c:\python37\lib\runpy.py”, line 85, in run_code
exec(code, run_globals)
File "C:\Python37\Scripts\gms.exe_main
.py", line 9, in
File “c:\python37\lib\site-packages\click\core.py”, line 722, in call
return self.main(*args, **kwargs)
File “c:\python37\lib\site-packages\click\core.py”, line 697, in main
rv = self.invoke(ctx)
File “c:\python37\lib\site-packages\click\core.py”, line 1066, in invoke
return process_result(sub_ctx.command.invoke(sub_ctx))
File “c:\python37\lib\site-packages\click\core.py”, line 895, in invoke
return ctx.invoke(self.callback, **ctx.params)
File “c:\python37\lib\site-packages\click\core.py”, line 535, in invoke
return callback(*args, **kwargs)
File “c:\python37\lib\site-packages\google_music_scripts\commands\quota.py”, line 30, in quota
mm = google_music.musicmanager(username, uploader_id=uploader_id)
File “c:\python37\lib\site-packages\google_music\api.py”, line 51, in musicmanager
token=token
File “c:\python37\lib\site-packages\google_music\clients\musicmanager.py”, line 64, in init
self.upauth(uploader_id, uploader_name)
File “c:\python37\lib\site-packages\google_music\clients\musicmanager.py”, line 70, in upauth
self.call(mm_calls.UpAuth, uploader_id, uploader_name)
File "c:\python37\lib\site-packages\tenacity_init
.py", line 292, in wrapped_f
return self.call(f, *args, **kw)
File "c:\python37\lib\site-packages\tenacity_init
.py", line 358, in call
do = self.iter(retry_state=retry_state)
File "c:\python37\lib\site-packages\tenacity_init
.py", line 331, in iter
raise retry_exc.reraise()
File "c:\python37\lib\site-packages\tenacity_init
.py", line 167, in reraise
raise self.last_attempt.result()
File “c:\python37\lib\concurrent\futures_base.py”, line 425, in result
return self.__get_result()
File “c:\python37\lib\concurrent\futures_base.py”, line 384, in __get_result
raise self.exception
File "c:\python37\lib\site-packages\tenacity_init
.py", line 361, in call
result = fn(*args, **kwargs)
File “c:\python37\lib\site-packages\google_music\clients\base.py”, line 77, in _call
return call.parse_response(response.headers, response.content)
File “c:\python37\lib\site-packages\google_music_proto\musicmanager\models.py”, line 42, in parse_response
raise Exception(f"{self.class.name} call failed: {res_body}")
Exception: UpAuth call failed: response_type: AUTH_RESPONSE
policy {
pause_uploads: false
abort: false
retry_in_minutes: 5
bandwidth_cap_kbps: 12000
pause_downloads: false
download_bandwidth_cap_kbps: 16000
send_analytics: false
enable_gapless: true
enable_m4p: true
}
auth_status: MAX_PER_MACHINE_USERS_EXCEEDED
auth_error: false
upauth_response {
uploader_id: “D3:A0:2E:B6:B0:00”
}

#2

This is a warning on Google’s side. They only allow two accounts per uploader-id. Usually this means two accounts per machine, but you could specify anything that looks like a MAC address with the --uploader-id option to use something else. Defaults are also configurable (check the docs). My library already uses the machine’s MAC address + 1 as the uploader ID by default. Google’s Music Manager used to use the machine’s MAC address as its uploader ID), so that had the same effect of acting as a different machine than a Music Manager install on the system.

You can also deauthorize that device on an account if desired. But, the last time I did that, I still kept getting this warning on the new account I was trying to use it on. I’m still just using a different machine’s MAC address for that new account.

#3

Hello, thank you very much for your detailed response. I will try it out and will confirm (for others) if it helped me to resolve th issue.

Kind regards,

Radek

#4

PS I am probably going to change the way google-music-scripts will generate the default uploader ID so it will be specific to the username provided (if any) as well as the machine MAC address. Possibly even provide a way to generate one even on machines where a MAC address can’t be obtained.

#5

Thank you for your answer earlier. I am just confirming that altering the MAC address as a parameter worked and fixed my upload error