From 377c9b794ffff3a8ba012ac36cee79a299221a05 Mon Sep 17 00:00:00 2001 From: adamhaley Date: Fri, 15 Aug 2025 16:07:43 -0700 Subject: [PATCH] added stripping of whitespace from app key, secret values before sending. added params to get refresh_token. verified working --- setup_dropbox_node.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/setup_dropbox_node.py b/setup_dropbox_node.py index cca15ca..e0fe357 100644 --- a/setup_dropbox_node.py +++ b/setup_dropbox_node.py @@ -3,6 +3,8 @@ import os import requests from dotenv import load_dotenv, dotenv_values +import urllib.parse + class DropboxSetupNode: @classmethod @@ -45,14 +47,23 @@ class DropboxSetupNode: if not all([app_key, app_secret, auth_code]): return ("❌ Missing App Key, Secret, or Authorization Code.",) + app_key = app_key.strip() + app_secret = app_secret.strip() + auth_code = auth_code.strip() + + data = { "code": auth_code, "grant_type": "authorization_code", "client_id": app_key, - "client_secret": app_secret + "client_secret": app_secret, + "token_access_type": "offline" } headers = {"Content-Type": "application/x-www-form-urlencoded"} + + encoded_data = urllib.parse.urlencode(data) + resp = requests.post("https://api.dropbox.com/oauth2/token", headers=headers, data=data) resp.raise_for_status() refresh_token = resp.json().get("refresh_token")