From a8a4a84c4977d66a231f8051d25163d1d113d3b8 Mon Sep 17 00:00:00 2001 From: Thomas Montague Date: Tue, 9 Dec 2025 07:23:17 -0600 Subject: [PATCH 1/3] Resolve issue accessing pin code before running thread. Fixes #1566. --- plexapi/myplex.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/plexapi/myplex.py b/plexapi/myplex.py index 14dc5486d..6f31a4db2 100644 --- a/plexapi/myplex.py +++ b/plexapi/myplex.py @@ -1759,7 +1759,7 @@ def pin(self): """ if self._oauth: raise BadRequest('Cannot use PIN for Plex OAuth login') - return self._code + return self._getCode() def oauthUrl(self, forwardUrl=None): """ Return the Plex OAuth url for login. @@ -1848,6 +1848,9 @@ def checkLogin(self): return False def _getCode(self): + if self._code: + return self._code + url = self.PINS if self._oauth: From d000646d05a3f8a0a2a7f16ffdfe24332faf6a1d Mon Sep 17 00:00:00 2001 From: Thomas Montague Date: Tue, 9 Dec 2025 07:29:28 -0600 Subject: [PATCH 2/3] Update to use _getCode() instead of _code --- plexapi/myplex.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plexapi/myplex.py b/plexapi/myplex.py index 6f31a4db2..1cb268a97 100644 --- a/plexapi/myplex.py +++ b/plexapi/myplex.py @@ -1779,7 +1779,7 @@ def oauthUrl(self, forwardUrl=None): 'context[device][platformVersion]': headers['X-Plex-Platform-Version'], 'context[device][device]': headers['X-Plex-Device'], 'context[device][deviceName]': headers['X-Plex-Device-Name'], - 'code': self._code + 'code': self._getCode() } if forwardUrl: params['forwardUrl'] = forwardUrl From 1a8b8efd21fcfdf38692a7dfa3ef5d68b8743f25 Mon Sep 17 00:00:00 2001 From: Thomas Montague Date: Tue, 9 Dec 2025 13:34:40 -0600 Subject: [PATCH 3/3] Correct pin login example. --- plexapi/myplex.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plexapi/myplex.py b/plexapi/myplex.py index 1cb268a97..5785e6175 100644 --- a/plexapi/myplex.py +++ b/plexapi/myplex.py @@ -1722,7 +1722,7 @@ class MyPlexPinLogin: from plexapi.myplex import MyPlexAccount, MyPlexPinLogin - pinlogin = MyPlexPinLogin() + pinlogin = MyPlexPinLogin(oauth=True) pinlogin.run() print(f'Login to Plex at the following url:\\n{pinlogin.oauthUrl()}') pinlogin.waitForLogin()