def get_campaign_data(ad_account: AdAccount) -> {}: """Retrieves the campaign data of the ad account as a dictionary Args: ad_account: An ad account for which to retrieve the campaign data Returns: A dictionary with {campaign_id: {'name': 1, 'attributes': {}}} format """ logging.info('get campaign data for account {}'.format( ad_account['account_id'])) campaigns = ad_account.get_campaigns(fields=['id', 'name', 'adlabels'], params={ 'limit': 1000, 'status': ['ACTIVE', 'PAUSED', 'ARCHIVED'] }) result = {} for campaign in campaigns: result[campaign['id']] = { 'name': campaign['name'], 'attributes': parse_labels(campaign.get('adlabels', [])) } return result
# use, copy, modify, and distribute this software in source code or binary # form for use in connection with the web services and APIs provided by # Facebook. # As with any software that integrates with the Facebook platform, your use # of this software is subject to the Facebook Developer Principles and # Policies [http://developers.facebook.com/policy/]. This copyright notice # shall be included in all copies or substantial portions of the software. # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # DEALINGS IN THE SOFTWARE. from facebookads import test_config ad_account_id = test_config.account_id # _DOC open [ADACCOUNT_GET_ADCAMPAIGNS] # _DOC vars [ad_account_id:s] from facebookads.objects import AdAccount, Campaign account = AdAccount(ad_account_id) campaigns = account.get_campaigns(fields=[Campaign.Field.name]) for campaign in campaigns: print(campaign[Campaign.Field.name]) # _DOC close [ADACCOUNT_GET_ADCAMPAIGNS]
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # DEALINGS IN THE SOFTWARE. from examples.docs import fixtures from facebookads import test_config ad_account_id = test_config.account_id ad_label_id = fixtures.create_adlabel().get_id() # _DOC oncall [pruno] # _DOC open [ADACCOUNT_GET_ADCAMPAIGNS_ADS_MANAGEMENT_UI] # _DOC vars [ad_account_id:s] from facebookads.objects import AdAccount, Campaign fields = { Campaign.Field.name, Campaign.Field.objective, } params = { Campaign.Field.effective_status: [ 'ACTIVE', 'PAUSED', ], } account = AdAccount(ad_account_id) campaigns = account.get_campaigns(fields=fields, params=params) # _DOC close [ADACCOUNT_GET_ADCAMPAIGNS_ADS_MANAGEMENT_UI]
2: ReportMenosXDias, 3: ReportIntervaloDiaADia, 4: ReportIntervaloTotal, 5: ReportIntervaloMensal } data_ini_config = config.StartDate data_fim_config = config.EndDate hoje = datetime.datetime.now().date() for campaign in acc.get_campaigns(fields=[ Campaign.Field.name, Campaign.Field.start_time, Campaign.Field.stop_time, Campaign.Field.status ], params={ 'status': [ objects.Campaign.Status.paused, objects.Campaign.Status.active, objects.Campaign.Status.archived, objects.Campaign.Status.deleted ] }): # campaign.remote_read(fields=[ # Campaign.Field.name, # Campaign.Field.start_time, # Campaign.Field.stop_time, # Campaign.Field.statustruncaste # ]) #print(campaign) config.StartDate = data_ini_config config.EndDate = hoje if ( data_fim_config.date() > hoje) else data_fim_config