def main_impl(): args = utils.parse_args(REQUIRED_CONFIG_KEYS) account_id = args.config['account_id'] access_token = args.config['access_token'] CONFIG.update(args.config) FacebookAdsApi.init(access_token=access_token) user = fb_user.User(fbid='me') accounts = user.get_ad_accounts() account = None for acc in accounts: if acc['account_id'] == account_id: account = acc if not account: raise TapFacebookException( "Couldn't find account with id {}".format(account_id)) if args.discover: do_discover() elif args.properties: catalog = Catalog.from_dict(args.properties) do_sync(account, catalog, args.state) else: LOGGER.info("No properties were selected")
def __init__(self): """ Initialising the FacebookAdsApi """ try: app_id = os.environ['APPID'] app_secret = os.environ['APPSECRET'] access_token = os.environ['ACCESSTOKEN'] FacebookAdsApi.init(app_id, app_secret, access_token) except KeyError as ke: logger.error( 'You need to set the following environment variable \n {}'. format(ke))
def __init__(self, account_id): self.account_id = account_id try: app_id = os.environ["APPID"] app_secret = os.environ['APPSECRET'] access_token = os.environ['ACCESSTOKEN'] FacebookAdsApi.init(app_id, app_secret, access_token) logger.info('FB INIT') except KeyError as ke: logger.error('You need to set the following environ variables:\n' 'APPID, APPSECRET, ACCESSTOKEN {}'.format(ke)) except ValueError as ve: logger.error(ve)
def call(self, access_token='', method='', path=(), params={}): caller = FacebookAdsApi.init(self.app_id, self.app_secret, access_token) try: return caller.call(method, path, params).json() except FacebookRequestError as fberror: return fberror.body() except Exception as es: raise es
def main(): args = utils.parse_args(REQUIRED_CONFIG_KEYS) start_date = args.config['start_date'] account_id = args.config['account_id'] access_token = args.config['access_token'] state = State(start_date, args.state) FacebookAdsApi.init(access_token=access_token) user = objects.AdUser(fbid='me') accounts = user.get_ad_accounts() account = None for acc in accounts: if acc['account_id'] == account_id: account = acc if not account: raise Exception("Couldn't find account with id {}".format(account_id)) if args.discover: do_discover() elif args.properties: do_sync(account, args.properties, state) else: LOGGER.info("No properties were selected")
import pprint import sys pp = pprint.pprint this_dir = os.path.dirname(__file__) config_filename = os.path.join(this_dir, 'config.json') ### Setup session and api objects config_file = open(config_filename) config = json.load(config_file) config_file.close() auth_info = (config['app_id'], config['app_secret'], config['access_token']) FacebookAdsApi.init(*auth_info) ### Get account from config file my_account = AdAccount(config['act_id']) def ListCustomAudiences(**kwargs): audiences = my_account.get_custom_audiences( fields=[CustomAudience.Field.name, CustomAudience.Field.description]) if audiences: print(">>> Account") print(my_account[CustomAudience.Field.id]) print(">>> Audiences") for audience in audiences: print(audience[CustomAudience.Field.id] + ': ' +
from facebookads import FacebookAdsApi from facebookads.objects import AdAccount, AdVideo import os import configparser config = configparser.RawConfigParser() this_dir = os.path.dirname(__file__) config_filename = os.path.join(this_dir, 'my_app_session.cfg') with open(config_filename) as config_file: config.readfp(config_file) FacebookAdsApi.init( config.get('Authentication', 'app_id'), config.get('Authentication', 'app_secret'), config.get('Authentication', 'access_token'), ) if __name__ == '__main__': my_account = AdAccount(config.get('Defaults', 'ad_account')) # create video object video = AdVideo(parent_id=my_account.get_id_assured()) # set video fields video[AdVideo.Field.filepath] = os.path.join(this_dir, 'test_video.mp4') # remove create video.remote_create() video.waitUntilEncodingReady()
pp = pprint.pprint this_dir = os.path.dirname(__file__) config_filename = os.path.join(this_dir, 'config.json') ### Setup session and api objects config_file = open(config_filename) config = json.load(config_file) config_file.close() auth_info = ( config['app_id'], config['app_secret'], config['access_token']) FacebookAdsApi.init(*auth_info) ### Get account from config file my_account = AdAccount(config['act_id']) def ListCustomAudiences(**kwargs): audiences = my_account.get_custom_audiences(fields=[ CustomAudience.Field.name, CustomAudience.Field.description]) if(audiences): print(">>> Account") print(my_account[CustomAudience.Field.id]) print(">>> Audiences") for audience in audiences: print(audience[CustomAudience.Field.id] + ': ' +
from facebookads.objects import ( AdImage, AdCreative, AdGroup, ) import os import pprint pp = pprint.PrettyPrinter(indent=4) this_dir = os.path.dirname(__file__) config = Config().get_config() FacebookAdsApi.init( config['api_app_id'], config['app_secret'], config['access_token'], ) class AdCreativeModel: def __init__(self, param, filename): self.param = param self.filename = filename def create_ad_creative(self): parent_id = config['act_id'][self.param['account']] page_id = config['page_id'][self.param['account']] link_url = config['link_url'][self.param['account']][self.param['os']] # Upload an image to an account.
) from facebookads import objects import configparser import os import time import pprint import fb_helper config = fb_helper.open_config('fb_config.cfg') app_id = '826090954086728' app_secret = 'bcaf6d6eb26bbc824fa33a6527863ea7' access_token = 'CAALvU0ne2UgBAOZCLefaNxbx7qjnOLfRttKOVZCDRMsscZABTjumWDW4ogyDvA7KWYUfk8dH0NMbTxXRz0iSI8S8Y7MLy5JdtM2ZCtWb6ZCxq6EONpX5neTU6nwDZCCZA1hzmH6vbIgqfCLgD6p4JYTC5uZANiTxQ64ENZA5eLpAOXo3hJSF71QATbfgS9lVmt6ZAHZCa92nP7oV6pIJ9Dygd0B' FacebookAdsApi.init(app_id, app_secret, access_token) pp = pprint.PrettyPrinter(indent=4) act_id = config.get('Defaults', 'ad_account') csvfilename = posixpath.join('c:', 'Users', 'Christopher Scanlin', 'python_scripts', 'assorted_python', 'csvfilename.csv') input_file = open(csvfilename, 'rb') input_fields = ( 'CLUSTER', 'PARENT_URL', 'CAPTION', 'NAME_ONE', 'DESCRIPTION_ONE',
from facebookads import FacebookAdsApi from facebookads.objects import AdAccount, AdVideo import configparser import os config = configparser.RawConfigParser() this_dir = os.path.dirname(__file__) config_filename = os.path.join(this_dir, 'my_app_session.cfg') with open(config_filename) as config_file: config.readfp(config_file) FacebookAdsApi.init( config.get('Authentication', 'app_id'), config.get('Authentication', 'app_secret'), config.get('Authentication', 'access_token'), ) if __name__ == '__main__': my_account = AdAccount('act_<AD_ACCOUNT_ID>') # create video object video = AdVideo(parent_id=my_account.get_id_assured()) # set video fields video[AdVideo.Field.filepath] = os.path.join(this_dir, 'test_video.mp4') # remove create video.remote_create() video.waitUntilEncodingReady()
from facebookads.adobjects.adaccount import AdAccount from facebookads.adobjects.adset import AdSet from facebookads.adobjects.ad import Ad from facebookads.adobjects.adpreview import AdPreview from facebookads.session import FacebookSession from facebookads import FacebookAdsApi access_token = 'EAAcpfNkWwLIBAJ8TvDkZBhgMBggvJOZCKj2LqlP1XxRiZCujuZCyln1Y78NZC7I2HkazMDZCjFZAv7YHiEY9LusRNUtEHzgkHQgO1ZAx5drFBdAPynxpSzBNAmfA35xE0s4fJFjZAsPZApv4IKYNmcSsA7dbgAUoBy6NiRmnmELXVR5m6F5n2qq3GU47J77WAfh1kvEeZCWtZAdk4Uj7X1IdZAlfhnbDFNBGZC6YcZD' ad_account_id = 'act_202042424038719' app_secret = 'c6730bc343cdefecc28c894e8db18d16' app_id = '2015941031805106' FacebookAdsApi.init(access_token=access_token) fields = [ 'account_id', 'account_name', 'campaign_group_name', 'campaign_group_id', 'campaign_name', 'campaign_id', 'adgroup_id', 'adgroup_name', ] params = { 'level': 'campaign', 'filtering': [], 'breakdowns': [], 'time_range': { 'since': '2018-11-11', 'until': '2018-12-11'