javascript - Facebook 营销 API 仅返回 25 个结果/广告
问题描述
收到此请求后,我的广告帐户中收到的广告不超过 25 个。我在一家公司工作,这就是以前的人构建它的方式,所以我很感激这种调用 api 的方式的解决方案。一切正常,只是我没有获得超过 25 条记录。
我已经读到您可以在 URI/请求中添加一个“限制”参数,后跟一个数字(此处显示,第 9 部分:https ://mixedanalytics.com/knowledge-base/import-facebook-ad-data-to -google-sheets/#num9 )
就我而言,我尝试在界面中添加一个“限制”变量,在字段数组中,我尝试在 account.getAds() 调用中潜入“限制”。下面给出的代码中几乎所有看起来合乎逻辑的东西:
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);
}
}
提前致谢 //Ibrahim,初级开发者。
解决方案
推荐阅读
- javascript - 使用 multer Node.js 将文件下载到服务器时出错
- build - 如何重建已下载的已编辑 perl6 模块?
- amazon-web-services - 如何使用现场实例数据馈送将 aws ec2 现场实例使用情况和定价发送到 s3 存储桶
- amazon-athena - Athena 中的表不使用 vpc 日志更新
- php - 如何使用 %title 而不是 $text->title
- sql-server - 在 T-SQL 中声明游标时出现语法错误
- python - 无法使用 python 脚本将所有行插入 SQL 表
- git - IntelliJ/Git - 切换分支时没有警告
- javascript - Angular ERROR TypeError:无法读取未定义的属性“_detailsShow”
- java - 如何使用 jTDS 将表值参数传递给存储过程?