Skip to content

Instantly share code, notes, and snippets.

@mcarlton00
Last active May 29, 2024 10:44
Show Gist options
  • Save mcarlton00/f7bd7218828ed465ce0f309cebf9a247 to your computer and use it in GitHub Desktop.
Save mcarlton00/f7bd7218828ed465ce0f309cebf9a247 to your computer and use it in GitHub Desktop.
Example for authenticating to Jellyfin API from Python
import requests
# Define connection details
server_url = 'http://192.168.0.200:8096'
username = 'User'
password = 'Password'
# Build json payload with auth data
auth_data = {
'username': username,
'Pw': password
}
headers = {}
# Build required connection headers
authorization = 'MediaBrowser Client="other", Device="my-script", DeviceId="some-unique-id", Version="0.0.0"'
headers['Authorization'] = authorization
# Authenticate to server
r = requests.post(server_url + '/Users/AuthenticateByName', headers=headers, json=auth_data)
# Retrieve auth token and user id from returned data
token = r.json().get('AccessToken')
user_id = r.json().get('User').get('Id')
# Update the headers to include the auth token
headers['Authorization'] = f'{authorization}, Token="{token}"'
# Requests can be made with
#requests.get(f'{server_url}/api/endpoint', headers=headers)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment