Use account.fetchItem
MODIFY
plextraktsync/plex/PlexApi.py
plextraktsync/plex/PlexApi.py
@@ -64,6 +64,12 @@ def show_sections(self, library=None) -> List[PlexLibrarySection]:
@retry()
def fetch_item(self, key: Union[int, str]) -> Optional[PlexLibraryItem]:
try:
+ if isinstance(key, str) and key.startswith("https://metadata.provider.plex.tv/library/metadata/"):
+ # https://github.com/pkkid/python-plexapi/issues/1091
+ account = self.account
+ media = account.fetchItem(key)
+ media = account._toOnlineMetadata(media)[0]
+ else:
media = self.plex.library.fetchItem(key)
except NotFound:
return None

Use account.fetchItem