No recibo más de 25 anuncios de mi cuenta publicitaria con esta solicitud. Trabajo en una empresa y así es como la construyó el tipo anterior, por lo que agradecería una solución para esta forma de llamar a la API. Todo funciona, es solo que no obtengo más de 25 registros.
He leído que podría agregar un parámetro de "límite" al URI/solicitud seguido de un número (que se muestra aquí, en la parte 9: https://mixedanalytics.com/knowledge-base/import-facebook-ad-data-to -google-hojas/#num9 )
En mi caso, he intentado agregar una variable de "límite" en la interfaz, en la matriz de campos, he intentado colar "límite" en la llamada account.getAds(). Prácticamente todo lo que parece lógico en el código presentado a continuación:
import logger from "../****/****"; import { FB_ACCESS_TOKEN } from "../****/****"; import { AdAccount, FacebookAdsApi } from "facebook-nodejs-business-sdk"; let isInitialized = false; function initFacebookApi(): void { if (!isInitialized) { FacebookAdsApi.init(FB_ACCESS_TOKEN); isInitialized = true; } } interface FacebookAdParam { filtering?: { field: string; operator: string; value: string; }[]; } export async function searchFBAds(facebookAccountId: string, search: string | undefined) { try { initFacebookApi(); const fullAccountId = `act_${facebookAccountId}`; const account = new AdAccount(fullAccountId); const params: FacebookAdParam = {}; const fields = ['id', 'name']; if (search) { //Our GUI features a search function, to filter by name, after fetching all records params.filtering = [ { field: 'name', operator: 'CONTAIN', value: search, }, ]; } const ads: any[] = await account.getAds(fields, params); return ads.map(({ id, name }) => { return { id: id, name: name }; }); } catch (e) { logger.error('Something went wrong when searching for a facebook ad', e); } }Gracias de antemano //Ibrahim, desarrollador junior.