4848from .team_memberships import TeamMembershipsAPI
4949from .teams import TeamsAPI
5050from .webhooks import WebhooksAPI
51+ import os
5152
5253
5354class WebexTeamsAPI (object ):
@@ -69,7 +70,9 @@ def __init__(self, access_token=None, base_url=DEFAULT_BASE_URL,
6970 client_secret = None ,
7071 oauth_code = None ,
7172 redirect_uri = None ,
72- proxies = None ):
73+ proxies = None ,
74+ be_geo_id = None ,
75+ caller = None ):
7376 """Create a new WebexTeamsAPI object.
7477
7578 An access token must be used when interacting with the Webex Teams API.
@@ -113,6 +116,12 @@ def __init__(self, access_token=None, base_url=DEFAULT_BASE_URL,
113116 OAuth process.
114117 proxies(dict): Dictionary of proxies passed on to the requests
115118 session.
119+ be_geo_id(basestring): Optional partner identifier for API usage
120+ tracking. Defaults to checking for a BE_GEO_ID environment
121+ variable.
122+ caller(basestring): Optional identifier for API usage tracking.
123+ Defaults to checking for a WEBEX_PYTHON_SDK_CALLER environment
124+ variable.
116125
117126 Returns:
118127 WebexTeamsAPI: A new WebexTeamsAPI object.
@@ -132,6 +141,8 @@ def __init__(self, access_token=None, base_url=DEFAULT_BASE_URL,
132141 check_type (oauth_code , basestring , optional = True )
133142 check_type (redirect_uri , basestring , optional = True )
134143 check_type (proxies , dict , optional = True )
144+ check_type (be_geo_id , basestring , optional = True )
145+ check_type (caller , basestring , optional = True )
135146
136147 access_token = access_token or WEBEX_TEAMS_ACCESS_TOKEN
137148
@@ -151,6 +162,10 @@ def __init__(self, access_token=None, base_url=DEFAULT_BASE_URL,
151162 redirect_uri = redirect_uri
152163 ).access_token
153164
165+ # Set optional API metrics tracking variables from env vars if there
166+ be_geo_id = be_geo_id or os .environ .get ('BE_GEO_ID' )
167+ caller = caller or os .environ .get ('WEBEX_PYTHON_SDK_CALLER' )
168+
154169 # If an access token hasn't been provided as a parameter, environment
155170 # variable, or obtained via an OAuth exchange raise an error.
156171 if not access_token :
@@ -169,7 +184,9 @@ def __init__(self, access_token=None, base_url=DEFAULT_BASE_URL,
169184 base_url = base_url ,
170185 single_request_timeout = single_request_timeout ,
171186 wait_on_rate_limit = wait_on_rate_limit ,
172- proxies = proxies
187+ proxies = proxies ,
188+ be_geo_id = be_geo_id ,
189+ caller = caller
173190 )
174191
175192 # API wrappers
0 commit comments