in facebook_business/adobjects/application.py [0:0]
def create_activity(self, fields=None, params=None, batch=None, success=None, failure=None, pending=False):
from facebook_business.utils import api_utils
if batch is None and (success is not None or failure is not None):
api_utils.warning('`success` and `failure` callback only work for batch call.')
param_types = {
'advertiser_id': 'string',
'advertiser_tracking_enabled': 'bool',
'anon_id': 'string',
'app_user_id': 'string',
'application_tracking_enabled': 'bool',
'attribution': 'string',
'auto_publish': 'bool',
'bundle_id': 'string',
'bundle_short_version': 'string',
'bundle_version': 'string',
'click_id': 'string',
'consider_views': 'bool',
'custom_events': 'list<Object>',
'custom_events_file': 'file',
'data_processing_options': 'list<string>',
'data_processing_options_country': 'unsigned int',
'data_processing_options_state': 'unsigned int',
'device_token': 'string',
'event': 'event_enum',
'extinfo': 'Object',
'include_dwell_data': 'bool',
'include_video_data': 'bool',
'install_referrer': 'string',
'install_timestamp': 'unsigned int',
'installer_package': 'string',
'limited_data_use': 'bool',
'migration_bundle': 'string',
'page_id': 'unsigned int',
'page_scoped_user_id': 'unsigned int',
'receipt_data': 'string',
'ud': 'map',
'url_schemes': 'list<string>',
'user_id': 'string',
'user_id_type': 'user_id_type_enum',
'windows_attribution_id': 'string',
}
enums = {
'event_enum': [
'CUSTOM_APP_EVENTS',
'DEFERRED_APP_LINK',
'MOBILE_APP_INSTALL',
],
'user_id_type_enum': [
'INSTANT_GAMES_PLAYER_ID',
],
}
request = FacebookRequest(
node_id=self['id'],
method='POST',
endpoint='/activities',
api=self._api,
param_checker=TypeChecker(param_types, enums),
target_class=AbstractCrudObject,
api_type='EDGE',
response_parser=ObjectParser(target_class=AbstractCrudObject, api=self._api),
)
request.add_params(params)
request.add_fields(fields)
if batch is not None:
request.add_to_batch(batch, success=success, failure=failure)
return request
elif pending:
return request
else:
self.assure_call()
return request.execute()