in facebook_business/adobjects/adaccount.py [0:0]
def create_ad_video(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.')
from facebook_business.adobjects.advideo import AdVideo
param_types = {
'adaptive_type': 'string',
'animated_effect_id': 'unsigned int',
'application_id': 'string',
'asked_fun_fact_prompt_id': 'unsigned int',
'audio_story_wave_animation_handle': 'string',
'chunk_session_id': 'string',
'composer_entry_picker': 'string',
'composer_entry_point': 'string',
'composer_entry_time': 'unsigned int',
'composer_session_events_log': 'string',
'composer_session_id': 'string',
'composer_source_surface': 'string',
'composer_type': 'string',
'container_type': 'container_type_enum',
'content_category': 'content_category_enum',
'creative_tools': 'string',
'description': 'string',
'embeddable': 'bool',
'end_offset': 'unsigned int',
'fbuploader_video_file_chunk': 'string',
'file_size': 'unsigned int',
'file_url': 'string',
'fisheye_video_cropped': 'bool',
'formatting': 'formatting_enum',
'fov': 'unsigned int',
'front_z_rotation': 'float',
'fun_fact_prompt_id': 'unsigned int',
'fun_fact_toastee_id': 'unsigned int',
'guide': 'list<list<unsigned int>>',
'guide_enabled': 'bool',
'has_nickname': 'bool',
'holiday_card': 'string',
'initial_heading': 'unsigned int',
'initial_pitch': 'unsigned int',
'instant_game_entry_point_data': 'string',
'is_boost_intended': 'bool',
'is_group_linking_post': 'bool',
'is_voice_clip': 'bool',
'location_source_id': 'string',
'name': 'string',
'offer_like_post_id': 'unsigned int',
'og_action_type_id': 'string',
'og_icon_id': 'string',
'og_object_id': 'string',
'og_phrase': 'string',
'og_suggestion_mechanism': 'string',
'original_fov': 'unsigned int',
'original_projection_type': 'original_projection_type_enum',
'publish_event_id': 'unsigned int',
'react_mode_metadata': 'string',
'referenced_sticker_id': 'string',
'replace_video_id': 'string',
'slideshow_spec': 'map',
'source': 'file',
'source_instagram_media_id': 'string',
'spherical': 'bool',
'start_offset': 'unsigned int',
'swap_mode': 'swap_mode_enum',
'text_format_metadata': 'string',
'throwback_camera_roll_media': 'string',
'thumb': 'file',
'time_since_original_post': 'unsigned int',
'title': 'string',
'transcode_setting_properties': 'string',
'unpublished_content_type': 'unpublished_content_type_enum',
'upload_phase': 'upload_phase_enum',
'upload_session_id': 'string',
'upload_setting_properties': 'string',
'video_file_chunk': 'file',
'video_id_original': 'string',
'video_start_time_ms': 'unsigned int',
'waterfall_id': 'string',
}
enums = {
'container_type_enum': AdVideo.ContainerType.__dict__.values(),
'content_category_enum': AdVideo.ContentCategory.__dict__.values(),
'formatting_enum': AdVideo.Formatting.__dict__.values(),
'original_projection_type_enum': AdVideo.OriginalProjectionType.__dict__.values(),
'swap_mode_enum': AdVideo.SwapMode.__dict__.values(),
'unpublished_content_type_enum': AdVideo.UnpublishedContentType.__dict__.values(),
'upload_phase_enum': AdVideo.UploadPhase.__dict__.values(),
}
request = FacebookRequest(
node_id=self['id'],
method='POST',
endpoint='/advideos',
api=self._api,
param_checker=TypeChecker(param_types, enums),
target_class=AdVideo,
api_type='EDGE',
allow_file_upload=True,
response_parser=ObjectParser(target_class=AdVideo, 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()