-
Notifications
You must be signed in to change notification settings - Fork 336
Open
Description
When retrieving a SavedAudience in v22.0 or higher, the IndividualSetting field is an Object type and is not parsed correctly. Specifically, the geo field's value is parsed as 1.0 instead of 1. When this SavedAudience object is then used to create an AdSet, the request is rejected because the value is invalid.
This example:
final SavedAudience savedAudience = new SavedAudience(120218882502790414L, context).get().requestTargetingField().execute();
final Targeting fieldTargeting = savedAudience.getFieldTargeting();
final Object fieldIndividualSetting = fieldTargeting.getFieldTargetingAutomation().getFieldIndividualSetting();
System.out.println(fieldIndividualSetting);
outputs
{geo=1.0}
And when using that targeting field on an AdSet request:
AdAccount.APIRequestCreateAdSet adSetToCreate = adAccount.createAdSet()
.setName("adset")
...
.setTargeting(fieldTargeting).execute()
The debug output shows that {geo=1.0} is being sent in the targeting parameter (this is from a request using a different saved audience but ends in the same result)
18:04:02.921 [main] INFO c.s.p.m.api.MetaPostBoosterApi -- ========Start of API Call========
18:04:02.922 [main] INFO c.s.p.m.api.MetaPostBoosterApi -- Post: https://graph.facebook.com/v23.0/act_213324006957203/adsets
...
18:04:02.922 [main] INFO c.s.p.m.api.MetaPostBoosterApi -- Content-Disposition: form-data; name="targeting"
18:04:02.922 [main] INFO c.s.p.m.api.MetaPostBoosterApi -- {"age_max":65,"age_min":18,"age_range":[18,65],"genders":[0],"geo_locations":{"cities":[{"country":"US","distance_unit":"mile","key":"2525495","name":"Austin","radius":25,"region":"Texas","region_id":"3886"},{"country":"US","distance_unit":"mile","key":"2526105","name":"Cedar Park","radius":25,"region":"Texas","region_id":"3886"},{"country":"US","distance_unit":"mile","key":"2527173","name":"Georgetown","radius":25,"region":"Texas","region_id":"3886"},{"country":"US","distance_unit":"mile","key":"2528026","name":"Lakeway","radius":25,"region":"Texas","region_id":"3886"},{"country":"US","distance_unit":"mile","key":"2528104","name":"Leander","radius":25,"region":"Texas","region_id":"3886"},{"country":"US","distance_unit":"mile","key":"2529681","name":"Round Rock","radius":25,"region":"Texas","region_id":"3886"},{"country":"US","distance_unit":"mile","key":"2530714","name":"West Lake Hills","radius":25,"region":"Texas","region_id":"3886"}],"location_types":["home","recent"]},"publisher_platforms":["facebook"],"targeting_automation":{"advantage_audience":1,"individual_setting":{"geo":1.0}}}
Manually changing the value to {"geo":1} gives a successful result.
Metadata
Metadata
Assignees
Labels
No labels