Hi @anon65155295 I have exactly the same issue (see OAuth avoid user interaction?)
After much reading it appears the Refresh token is the way to go. I can’t use a Personal since this is an end-user tool so each user needs to access on their own merits.
Sadly I can’t find examples of dealing with the Refresh token via the Python API.
There is this: Get refresh token - #12 by Matt_Bramlage
which is exactly what I (and likely you) are hoping to do
Cheers,
Peter B