Example #1
0
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")
Example #2
0
    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)
Example #4
0
 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
Example #5
0
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] + ': ' +
Example #9
0
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.
Example #10
0
)

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()
Example #12
0
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'