如何通过facebook-nodejs-business-sdk调用v14版Facebook Business API
facebook-nodejs-business-sdk调用v14版Facebook Business API的可行方案
目前npm公开发布的latest标签稳定版确实默认锁v13版本,直接执行npm install facebook-nodejs-business-sdk拉到的版本不会自动适配v14,可根据项目实际情况选择以下三种方案:
- 安装官方发布的v14适配候选版本
官方已经发布过适配v14的rc版本,只是没有推到latest标签下,直接执行对应安装命令即可:npm install facebook-nodejs-business-sdk@14.0.0-rc.2
这个版本的接口调用逻辑和v13稳定版基本一致,只是更新了默认API端点版本、v14新增/调整的字段枚举,安装完成后不需要修改原有业务代码,初始化SDK后默认就会走v14版本的API请求。 - 现有v13版本手动覆写全局API版本
不想替换现有已安装的v13版本SDK的话,可以在初始化逻辑里手动强制指定API版本,代码示例:
这个方案的局限是SDK侧没有做v14的参数、字段兼容校验,如果调用的是v13和v14逻辑一致的基础接口(比如广告账户数据拉取、基础广告单元创建)可以正常运行;如果用到v14有参数调整、字段废弃的接口(比如自定义受众上传、线索管理相关接口),可能会出现参数报错,需要自己对照接口文档调整传参。const FacebookAdsApi = require('facebook-nodejs-business-sdk').FacebookAdsApi; // 传入你的access token完成初始化 FacebookAdsApi.init('YOUR_ACCESS_TOKEN'); // 全局覆写默认请求的API版本为v14.0 FacebookAdsApi.setDefaultApiVersion('v14.0'); - 本地引入v14分支源码作为依赖
如果前两种方案不能满足需求,可以直接拉取官方代码仓库的v14.0分支源码放到本地项目目录,通过本地文件路径的方式在项目里引入依赖,这种方式可以灵活根据自身业务调整SDK的字段定义、请求逻辑,灵活度最高,但后续版本迭代需要手动同步代码,维护成本稍高。
注意:v14版本API对部分营销接口的权限要求做了调整,调用前请确认你的应用已申请到对应接口的所需权限、Access Token的权限范围符合要求,否则即使SDK版本配置正确,也会返回权限类报错。
内容的提问来源于stack exchange,提问作者bee zero
相关产品推荐
相关产品推荐

