Work with Cvent API for IDAA members.
This commit is contained in:
@@ -135,7 +135,7 @@ def get_contact_list(external_id: str=None, email: str=None):
|
||||
response_data = resp.json()
|
||||
log.debug(json.dumps(response_data, indent=2, default=str))
|
||||
|
||||
if 'message' in response_data and response_data['message'] == 'Too Many Requests for Cvent API': return False
|
||||
if 'message' in response_data and response_data['message'] == 'Too Many Requests': return False
|
||||
|
||||
return response_data
|
||||
|
||||
@@ -185,11 +185,47 @@ def get_recent_contact_list(
|
||||
resp = requests.get(url=uri, headers=api['headers'], params=params)
|
||||
|
||||
response_data = resp.json()
|
||||
log.debug(json.dumps(response_data, indent=2, default=str))
|
||||
# log.debug(json.dumps(response_data, indent=2, default=str))
|
||||
|
||||
if 'message' in response_data and response_data['message'] == 'Too Many Requests for Cvent API': return False
|
||||
cvent_contact_list = response_data.get('data')
|
||||
|
||||
return response_data
|
||||
next_token = None
|
||||
if 'paging' in response_data:
|
||||
next_token = response_data.get('paging').get('nextToken')
|
||||
log.debug(json.dumps(response_data.get('paging'), indent=2, default=str))
|
||||
|
||||
limit = 0
|
||||
while next_token and limit < 100:
|
||||
limit = limit + 1
|
||||
|
||||
params = {}
|
||||
params['token'] = next_token
|
||||
resp = requests.get(url=uri, headers=api['headers'], params=params)
|
||||
|
||||
response_data = resp.json()
|
||||
# log.debug(json.dumps(response_data, indent=2, default=str))
|
||||
|
||||
if 'message' in response_data and response_data['message'] == 'Too Many Requests':
|
||||
log.warning('Hit Cvent rate limit. Sleeping for .5 seconds...')
|
||||
time.sleep(.5)
|
||||
else:
|
||||
cvent_contact_list = cvent_contact_list + response_data.get('data')
|
||||
|
||||
if 'paging' in response_data:
|
||||
next_token = response_data.get('paging').get('nextToken')
|
||||
log.debug(json.dumps(response_data.get('paging'), indent=2, default=str))
|
||||
|
||||
log.warning('Sleeping for .25 seconds to avoid Cvent rate limit...')
|
||||
time.sleep(.25)
|
||||
else:
|
||||
next_token = None
|
||||
|
||||
# log.debug(json.dumps(cvent_contact_list, indent=2, default=str))
|
||||
# log.debug(json.dumps(response_data, indent=2, default=str))
|
||||
|
||||
if 'message' in response_data and response_data['message'] == 'Too Many Requests': return False
|
||||
|
||||
return cvent_contact_list
|
||||
# ### END ### API Cvent Methods ### get_recent_contact_list() ###
|
||||
|
||||
|
||||
@@ -212,7 +248,7 @@ def get_contact_id(contact_id: str):
|
||||
response_data = resp.json()
|
||||
log.debug(json.dumps(response_data, indent=2, default=str))
|
||||
|
||||
if 'message' in response_data and response_data['message'] == 'Too Many Requests for Cvent API': return False
|
||||
if 'message' in response_data and response_data['message'] == 'Too Many Requests': return False
|
||||
|
||||
return response_data
|
||||
# ### END ### API Cvent Methods ### get_contact_id() ###
|
||||
@@ -257,7 +293,7 @@ def modify_contact_id(contact_id: str, field_list: list=[], custom_field_id: str
|
||||
response_data = resp.json()
|
||||
log.debug(json.dumps(response_data, indent=2, default=str))
|
||||
|
||||
if 'message' in response_data and response_data['message'] == 'Too Many Requests for Cvent API': return False
|
||||
if 'message' in response_data and response_data['message'] == 'Too Many Requests': return False
|
||||
|
||||
return response_data
|
||||
# ### END ### API Cvent Methods ### modify_contact_id() ###
|
||||
|
||||
Reference in New Issue
Block a user