def get_products_by_product_catalog_id(self, product_catalog_id, params=None): """ Retrieves products that belong to the specified product feed. """ catalog = ProductCatalog(product_catalog_id) fields = [ 'availability', 'brand', 'category', 'condition', 'description', 'id', 'image_url', 'name', 'price', 'retailer_id', 'url' ] result = catalog.get_products(fields, params) return result
def check_product_images( self, catalog_id, limit ): """ Check the first "limit" products of a product catalog """ catalog = ProductCatalog(catalog_id) fields = [ 'additional_image_urls', 'image_url', 'url' ] products = catalog.get_products(fields) image_ok_count = 0 additional_image_ok_count = 0 total_count = 0 small_images = [] for product in products: total_count += 1 if total_count > limit: total_count -= 1 break if self.is_size_ok(product['image_url']): image_ok_count += 1 else: if len(small_images) < 5: small_images.append(( product['url'], self.extract_from_safe_img(product['image_url']) )) if 'additional_image_urls' in product.keys() and \ product['additional_image_urls']: image_urls = product['additional_image_urls'] for url in image_urls: if self.is_size_ok(url): additional_image_ok_count += 1 break res = (total_count, image_ok_count, additional_image_ok_count, small_images) return res
from facebook_business.api import FacebookAdsApi from facebook_business.adobjects.productcatalog import ProductCatalog from facebook_business.adobjects.productitem import ProductItem FacebookAdsApi.init( config['app_id'], config['app_secret'], config['access_token'], ) if __name__ == '__main__': catalog_id = '<INSERT_YOUR_CATALOG_ID_HERE>' catalog = ProductCatalog(catalog_id) fields = [ ProductItem.Field.id, ProductItem.Field.name, ProductItem.Field.price, ProductItem.Field.url, ProductItem.Field.availability ] """ get products cost more than $99.99. """ params = { 'filter': { 'price_amount': {'gt': '9999'} } } results = catalog.get_products(fields, params) print(results)