Browse Source

Fix spotify engine

0xhtml 5 years ago
parent
commit
c329ea135e
1 changed files with 14 additions and 0 deletions
  1. 14 0
      searx/engines/spotify.py

+ 14 - 0
searx/engines/spotify.py

@@ -12,10 +12,14 @@
 
 from json import loads
 from searx.url_utils import urlencode
+import requests
+import base64
 
 # engine dependent config
 categories = ['music']
 paging = True
+api_client_id = None
+api_client_secret = None
 
 # search-url
 url = 'https://api.spotify.com/'
@@ -31,6 +35,16 @@ def request(query, params):
 
     params['url'] = search_url.format(query=urlencode({'q': query}), offset=offset)
 
+    r = requests.post(
+        'https://accounts.spotify.com/api/token',
+        data={'grant_type': 'client_credentials'},
+        headers={'Authorization': 'Basic ' + str(base64.b64encode(
+            (api_client_id + ":" + api_client_secret).encode('utf-8')
+        ), 'utf-8')}
+    )
+    j = loads(r.text)
+    params['headers'] = {'Authorization': 'Bearer ' + j['access_token']}
+
     return params