Маркетинг на основе C #-API для Facebook — проблема с /adsets

#c# #facebook #api #webclient

#c# #Facebook #API #webclient

Вопрос:

у меня есть вопросы.. Есть ли здесь эксперты по маркетингу-API? Я пытаюсь закодировать API на основе C # для создания /campaigns, /adsets и /ads. С /campaigns у меня нет проблем, после запуска моего проекта созданный /campaign появляется в моем менеджере кампаний. Но почему-то это не будет работать с созданием /adsets . Я получаю 400 неверных запросов от Visual Studio. Кто-нибудь знает необходимые поля для создания /adset ?

Заранее спасибо!

 string campaign_id = "8890374892378023";

NameValueCollection request_parameter = new NameValueCollection();
request_parameter.Add("name", "TestAdSet");
request_parameter.Add("optimization_goal", "REACH");
request_parameter.Add("billing_event", "IMPRESSIONS");
request_parameter.Add("bid_strategy", "LOWEST_COST_WITHOUT_CAP");
request_parameter.Add("is_autobid", "true");
request_parameter.Add("lifetime_budget", "1000000");
request_parameter.Add("campaign_id", campaign_id);
request_parameter.Add("targeting", "{'geo_locations':{'countries': ['DE']}},{'publisher_platforms': ['all']}, {'facebook_positions': ['all']},{'device_platforms': ['all']}");
request_parameter.Add("promoted_object", "{'page_id': ['78686786786786']}");
request_parameter.Add("start_time", "2019-04-11T15:00:17 0000");
request_parameter.Add("end_time", "2019-04-15T04:45:17 0000");
request_parameter.Add("status", "PAUSED");
request_parameter.Add("access_token", access_token);

byte[] responsebytes = client.UploadValues("https://graph.facebook.com/v3.2/act_"   ad_account_id   "/adsets", "POST", request_parameter);
string result = Encoding.UTF8.GetString(responsebytes);

string adset_id = Regex.Match(result, "[0-9] ").Value;

Console.Write(result);
Console.Read();
  

Комментарии:

1. Помогает ли следующее? developers.facebook.com/docs/marketing-api/reference /…

2. Спасибо за ваши комментарии, друзья! jdweng, я использую именно эти документы. На данный момент я не запускаю / adsets. Слишком грустно, что facebook прекратил поддержку c #.

3. ребята, я понял. это была проблема, о которой мне сказал mjwills. значение таргетинга должно быть правильным json. большое спасибо!

Ответ №1:

 request_parameter.Add("targeting", "{'geo_locations':{'countries': ['DE']}},{'publisher_platforms': ['all']}, {'facebook_positions': ['all']},{'device_platforms': ['all']}");
  

неверно, поскольку вторая строка не является допустимым JSON. Обязательно проверьте строку в https://jsonlint.com прежде чем использовать его, убедитесь, что он действителен.