From 2a1d155312669c4163128380bd4e36b88d80c7f9 Mon Sep 17 00:00:00 2001 From: Khin Eaindray Htun Date: Sun, 10 Apr 2022 14:51:33 +0630 Subject: [PATCH 1/2] Fixed storage get_url() token bug --- pyrebase/pyrebase.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/pyrebase/pyrebase.py b/pyrebase/pyrebase.py index bc1fc3e..9ad355a 100644 --- a/pyrebase/pyrebase.py +++ b/pyrebase/pyrebase.py @@ -429,10 +429,18 @@ def download(self, filename, token=None): def get_url(self, token): path = self.path self.path = None + headers = {} if path.startswith('/'): path = path[1:] if token: - return "{0}/o/{1}?alt=media&token={2}".format(self.storage_bucket, quote(path, safe=''), token) + headers = {"Authorization": "Firebase " + token} + # retrieve download tokens first + request_ref = "{0}/o/{1}".format(self.storage_bucket, quote(path, safe='')) + request_object = self.requests.post(request_ref, headers=headers) + raise_detailed_error(request_object) + access_tokens = request_object.json()['downloadTokens'].split(",") + if len(access_tokens) > 0: + return "{0}/o/{1}?alt=media&token={2}".format(self.storage_bucket, quote(path, safe=''), access_tokens[0]) return "{0}/o/{1}?alt=media".format(self.storage_bucket, quote(path, safe='')) def list_files(self): From fb4a3a05eb24f7442f595cae03e6096524e7b12c Mon Sep 17 00:00:00 2001 From: Khin Eaindray Htun Date: Sun, 10 Apr 2022 15:10:53 +0630 Subject: [PATCH 2/2] Fixed storage get_url() token bug --- pyrebase/pyrebase.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyrebase/pyrebase.py b/pyrebase/pyrebase.py index 9ad355a..49607d1 100644 --- a/pyrebase/pyrebase.py +++ b/pyrebase/pyrebase.py @@ -426,7 +426,7 @@ def download(self, filename, token=None): for chunk in r: f.write(chunk) - def get_url(self, token): + def get_url(self, token=None): path = self.path self.path = None headers = {}