From d03733fbeaa4e1ffe3633e30457b4da7a6bab98c Mon Sep 17 00:00:00 2001 From: ikaroskun Date: Tue, 20 Aug 2024 15:24:47 +0800 Subject: [PATCH 1/2] feat(login): :sparkles: add support for business login parameter config_id --- pyfacebook/api/graph.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/pyfacebook/api/graph.py b/pyfacebook/api/graph.py index 781285c..ebef16f 100644 --- a/pyfacebook/api/graph.py +++ b/pyfacebook/api/graph.py @@ -8,7 +8,7 @@ import re import time from urllib.parse import parse_qsl, urlparse -from typing import Dict, List, Optional, Tuple +from typing import Any, Dict, List, Optional, Tuple from warnings import warn import requests @@ -30,6 +30,7 @@ class GraphAPI: "v17.0", "v18.0", "v19.0", + "v20.0" ] GRAPH_URL = "https://graph.facebook.com/" AUTHORIZATION_URL = "https://www.facebook.com/dialog/oauth" @@ -541,6 +542,7 @@ def get_authorization_url( redirect_uri: Optional[str] = None, scope: Optional[List[str]] = None, state: Optional[str] = None, + url_kwargs: Optional[Dict[str, Any]] = None, **kwargs, ) -> Tuple[str, str]: """ @@ -551,13 +553,18 @@ def get_authorization_url( Note: Your redirect uri need be set to `Valid OAuth redirect URIs` items in App Dashboard. :param scope: A list of permission string to request from the person using your app. :param state: A CSRF token that will be passed to the redirect URL. + :param url_kwargs: Additional parameters for generate authorization url. like config_id. :param kwargs: Additional parameters for oauth. :return: URL to do oauth and state """ session = self._get_oauth_session( redirect_uri=redirect_uri, scope=scope, state=state, **kwargs ) - authorization_url, state = session.authorization_url(url=self.authorization_url) + url_kwargs = {} if url_kwargs is None else url_kwargs + authorization_url, state = session.authorization_url( + url=self.authorization_url, + **url_kwargs + ) return authorization_url, state def exchange_user_access_token( From 65e77dc32ca410a8ab3ab7073d755e8532a2d689 Mon Sep 17 00:00:00 2001 From: ikaroskun Date: Tue, 20 Aug 2024 15:26:51 +0800 Subject: [PATCH 2/2] style(login): :art: black code --- pyfacebook/api/graph.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pyfacebook/api/graph.py b/pyfacebook/api/graph.py index ebef16f..ad79d28 100644 --- a/pyfacebook/api/graph.py +++ b/pyfacebook/api/graph.py @@ -30,7 +30,7 @@ class GraphAPI: "v17.0", "v18.0", "v19.0", - "v20.0" + "v20.0", ] GRAPH_URL = "https://graph.facebook.com/" AUTHORIZATION_URL = "https://www.facebook.com/dialog/oauth" @@ -562,8 +562,7 @@ def get_authorization_url( ) url_kwargs = {} if url_kwargs is None else url_kwargs authorization_url, state = session.authorization_url( - url=self.authorization_url, - **url_kwargs + url=self.authorization_url, **url_kwargs ) return authorization_url, state