48
48
from .team_memberships import TeamMembershipsAPI
49
49
from .teams import TeamsAPI
50
50
from .webhooks import WebhooksAPI
51
+ import os
51
52
52
53
53
54
class WebexTeamsAPI (object ):
@@ -69,7 +70,9 @@ def __init__(self, access_token=None, base_url=DEFAULT_BASE_URL,
69
70
client_secret = None ,
70
71
oauth_code = None ,
71
72
redirect_uri = None ,
72
- proxies = None ):
73
+ proxies = None ,
74
+ be_geo_id = None ,
75
+ caller = None ):
73
76
"""Create a new WebexTeamsAPI object.
74
77
75
78
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,
113
116
OAuth process.
114
117
proxies(dict): Dictionary of proxies passed on to the requests
115
118
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.
116
125
117
126
Returns:
118
127
WebexTeamsAPI: A new WebexTeamsAPI object.
@@ -132,6 +141,8 @@ def __init__(self, access_token=None, base_url=DEFAULT_BASE_URL,
132
141
check_type (oauth_code , basestring , optional = True )
133
142
check_type (redirect_uri , basestring , optional = True )
134
143
check_type (proxies , dict , optional = True )
144
+ check_type (be_geo_id , basestring , optional = True )
145
+ check_type (caller , basestring , optional = True )
135
146
136
147
access_token = access_token or WEBEX_TEAMS_ACCESS_TOKEN
137
148
@@ -151,6 +162,10 @@ def __init__(self, access_token=None, base_url=DEFAULT_BASE_URL,
151
162
redirect_uri = redirect_uri
152
163
).access_token
153
164
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
+
154
169
# If an access token hasn't been provided as a parameter, environment
155
170
# variable, or obtained via an OAuth exchange raise an error.
156
171
if not access_token :
@@ -169,7 +184,9 @@ def __init__(self, access_token=None, base_url=DEFAULT_BASE_URL,
169
184
base_url = base_url ,
170
185
single_request_timeout = single_request_timeout ,
171
186
wait_on_rate_limit = wait_on_rate_limit ,
172
- proxies = proxies
187
+ proxies = proxies ,
188
+ be_geo_id = be_geo_id ,
189
+ caller = caller
173
190
)
174
191
175
192
# API wrappers
0 commit comments