Facebook广告SDK返回“位置格式不正确”

问题描述

我正在firebase函数中使用node.js facebook sdk facebook-nodejs-business-sdk来更新具有custom_locations的广告集定位参数,并尝试了许多不同的方法来对其进行更新,但没有一种有效。我使用了API中的targetingGeoLocationCustomLocation对象,并尝试将位置直接添加为对象。我还尝试将纬度/经度作为字符串,浮点数,parseFloat字符串发送,但似乎没有任何作用。如果我在没有custom_locations的情况下尝试使用它,它将通过,因此我认为与API的设置无关。这是我尝试过的最后一个代码

const adsSdk = require('facebook-nodejs-business-sdk');
const targeting = adset.targeting // Pulling a targeting object from the request
const customLoc = adsSdk.targetingGeoLocationCustomLocation = {
                  radius: 1,latitude: parseFloat(37.32798355),longitude: parseFloat(-73.01982712),distance_unit: 'mile'
                }
                const geoLocations = {
                  location_types: ['recent'],custom_locations: [
                    customLoc
                  ]
                }
                targeting.geo_locations = geoLocations
                const accesstoken = req.body.fbAuth;
                const api = adsSdk.FacebookAdsApi.init(accesstoken);
                const AdSet = adsSdk.AdSet;
                
                new AdSet(doc.id,{
                  targeting: targeting
                })
                .update()
                .then( response => console.log('fb response',response) )
                .catch( error => console.log('error',error) )

我觉得我已经尝试了一切,并且非常感谢任何建议

解决方法

从您的代码看来,似乎也没有什么错,也许也可以在customLocations上发布您所拥有的内容,以便查看您要定位的区域,因为我知道您需要在定位区域中容纳最少的人员。

如果您的定位受众群体太小(例如,对人口过少或过少的区域有特定的兴趣),则无法创建定位条件。

我建议您尝试利用其他兴趣来扩大受众范围,看看它是否仍然返回相同的错误。您可以在文档中找到某些受众类型至少需要20个人或更多的人。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...