[GH-ISSUE #16] Documentation Clarifications #12

Closed
opened 2026-02-27 20:07:41 +03:00 by kerem · 3 comments
Owner

Originally created by @tomballgithub on GitHub (Jun 15, 2025).
Original GitHub issue: https://github.com/misiektoja/spotify_profile_monitor/issues/16

  1. Really great job documenting everything, including the new login mechanisms. However, the -z flag is not mentioned at all, although there's some good detail in the 'config data' section of the source code. After I typed that, I saw that you said to read the source for more advanced options, so maybe this is intended. However, it would be nice to know the difference between the -x and -z modes

  2. Can you add some clarity around the 'refresh' capabilities when using the 'client' mode? Which of these support it?

  • Automatic client mode via -x: " LOGIN_REQUEST_BODY_FILE"
  • Manual client mode via setting these manually: "DEVICE_ID, SYSTEM_ID, USER_URI_ID, REFRESH_TOKEN"
  • Automatic client mode via -z: "CLIENTTOKEN_REQUEST_BODY_FILE"

The docs say this, but it's ambiguous to me:

You can also persist the Protobuf request file path using the LOGIN_REQUEST_BODY_FILE configuration option.

The tool will automatically refresh both the access token and client token using the intercepted refresh token.

Thanks...

Originally created by @tomballgithub on GitHub (Jun 15, 2025). Original GitHub issue: https://github.com/misiektoja/spotify_profile_monitor/issues/16 1. Really great job documenting everything, including the new login mechanisms. However, the -z flag is not mentioned at all, although there's some good detail in the 'config data' section of the source code. After I typed that, I saw that you said to read the source for more advanced options, so maybe this is intended. However, it would be nice to know the difference between the -x and -z modes 2. Can you add some clarity around the 'refresh' capabilities when using the 'client' mode? Which of these support it? - Automatic client mode via -x: " LOGIN_REQUEST_BODY_FILE" - Manual client mode via setting these manually: "DEVICE_ID, SYSTEM_ID, USER_URI_ID, REFRESH_TOKEN" - Automatic client mode via -z: "CLIENTTOKEN_REQUEST_BODY_FILE" The docs say this, but it's ambiguous to me: ``` You can also persist the Protobuf request file path using the LOGIN_REQUEST_BODY_FILE configuration option. The tool will automatically refresh both the access token and client token using the intercepted refresh token. ``` Thanks...
kerem closed this issue 2026-02-27 20:07:41 +03:00
Author
Owner

@misiektoja commented on GitHub (Jun 16, 2025):

Hey Jeoff,

I intentionally skipped some stuff from the user guide, so it wouldn't get too complicated / intimidating. Only the -w flag (I'm guessing that's what you meant by -x) is needed to get the client Protobuf login method working with the automatic refresh of all needed tokens.

The other flag (-z) is optional if someone wants to fully replicate their own desktop client with platform specifics. It's more of a supportive option, not a separate mode. But from my tests, it's not really relevant, the provided hard-coded values seem to work just fine, so it is more for the future if Spotify decides to change something. I will update the guide and inline comments with more explanations and I think I will make the -z flag not appear in the help screen anymore as I agree it might be confusing ...

Answering your second point, the tool automatically refreshes both the access token and the client token using the intercepted refresh token. It doesn't matter if you feed its value automatically via the Protobuf file (-w) or provide it manually with the REFRESH_TOKEN variable, it behaves exactly the same.

So in other words - just export the Protobuf login request body file, point it via -w and that's it - you should be good to go!

Hope that clears things up! If not, let me know!

<!-- gh-comment-id:2974900286 --> @misiektoja commented on GitHub (Jun 16, 2025): Hey Jeoff, I intentionally skipped some stuff from the user guide, so it wouldn't get too complicated / intimidating. Only the `-w` flag (I'm guessing that's what you meant by `-x`) is needed to get the client Protobuf login method working with the automatic refresh of all needed tokens. The other flag (`-z`) is optional if someone wants to fully replicate their own desktop client with platform specifics. It's more of a supportive option, not a separate mode. But from my tests, it's not really relevant, the provided hard-coded values seem to work just fine, so it is more for the future if Spotify decides to change something. I will update the guide and inline comments with more explanations and I think I will make the `-z` flag not appear in the help screen anymore as I agree it might be confusing ... Answering your second point, the tool automatically refreshes both the access token and the client token using the intercepted refresh token. It doesn't matter if you feed its value automatically via the Protobuf file (`-w`) or provide it manually with the REFRESH_TOKEN variable, it behaves exactly the same. So in other words - just export the Protobuf login request body file, point it via `-w` and that's it - you should be good to go! Hope that clears things up! If not, let me know!
Author
Owner

@misiektoja commented on GitHub (Jun 18, 2025):

I updated the user guide and inline comments. Hopefully, it's clear now, so I'm closing the ticket.

<!-- gh-comment-id:2985240013 --> @misiektoja commented on GitHub (Jun 18, 2025): I updated the user guide and inline comments. Hopefully, it's clear now, so I'm closing the ticket.
Author
Owner

@tomballgithub commented on GitHub (Jun 20, 2025):

Thanks for the clarification here. The new updates to the documentation are extremely thorough. Nice job!

<!-- gh-comment-id:2992164887 --> @tomballgithub commented on GitHub (Jun 20, 2025): Thanks for the clarification here. The new updates to the documentation are extremely thorough. Nice job!
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/spotify_profile_monitor#12
No description provided.