#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 прежде чем использовать его, убедитесь, что он действителен.