diff options
author | Parker <contact@pkrm.dev> | 2024-07-20 19:02:11 -0500 |
---|---|---|
committer | Parker <contact@pkrm.dev> | 2024-07-20 19:02:11 -0500 |
commit | d6a713a9488d9d3204e9a1374b808b8775179349 (patch) | |
tree | 69f1a2c90771e2c8a84a85205b8aed400ebc71a8 /code/utils/media_api_key.py | |
parent | fda03dff62cc7967bd279777a012a22ddaa6ad34 (diff) |
Automatically retrieve Apple Music media API key
Diffstat (limited to 'code/utils/media_api_key.py')
-rw-r--r-- | code/utils/media_api_key.py | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/code/utils/media_api_key.py b/code/utils/media_api_key.py new file mode 100644 index 0000000..b738302 --- /dev/null +++ b/code/utils/media_api_key.py @@ -0,0 +1,28 @@ +import requests +import re + +from utils.config import LOG + +""" +Search through the JS files on the Apple Music website to pull +a media API key +""" + + +def get_media_api_key(): + url = "https://music.apple.com" + response = requests.get(url) + + js_files = re.findall(r"assets/(.*?\.js)", response.text) + + # Look for `const Ga="TOKEN HERE"` + for js_file in js_files: + response = requests.get(f"{url}/assets/{js_file}") + match = re.search(r"const Ga=\"(.*?)\"", response.text) + if match: + return match.group(1) + + LOG.error( + "Failed to find media API key. Apple Music support will not work until a key is found or manually set." + ) + return None |