Как фильтровать пользовательскую аудиторию Facebook ПОЛУЧИТЬ запрос по типу и подтипу источника данных с помощью параметра фильтрации

#c# #json #facebook #facebook-graph-api #facebook-custom-audience

Вопрос:

Я пытаюсь отфильтровать пользовательскую аудиторию Facebook, которую мы получаем через эту конечную точку:

 var url = $"{advertiserId}/customaudiences?limit={limit}amp;fields=name" 
                    "amp;filtering=[{'field':'subtype','operator':'EQUAL', 'value':'CUSTOM'}]";
 

Приведенный выше вызов работает и возвращает пользовательскую аудиторию пользователей. Однако мне нужно дополнительно отфильтровать пользовательские аудитории по data_source.type и data-source.subtype, т. Е.

 filtering=[...{'field':'data_source.type','operator':'EQUAL', 'value':'FILE_IMPORTED'}]";
 

Я прочитал документацию и не вижу, где я ошибаюсь.

Я получаю

Недопустимый параметр

ошибка при попытке фильтрации по типу data_source.

Вот документация, которую я просмотрел:

https://developers.facebook.com/docs/marketing-api/reference/ad-account/customaudiences/

https://developers.facebook.com/docs/marketing-api/reference/custom-audience/#parameters-2

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

1. Вы решили эту проблему? Я сталкиваюсь с той же проблемой…

2. @VitorDurante Да, у меня есть.

Ответ №1:

Мне удалось исправить это, добавив data_souce в URL-адрес моего запроса и фильтрацию по data_source, используя список, который я создал и сохранил в конфигурации:

 public FacebookEntitiesResult<FacebookAudience> GetFacebookAudiences(string advertiserId, string token, int? limit, PagingCursors cursors)
    {
        if (!limit.HasValue)
            limit = ConfigValues.FacebookGraphResultLimit;

        var url = $"{advertiserId}/customaudiences?limit={limit}amp;fields=name,data_source"
                    "amp;filtering=[{'field':'subtype','operator':'EQUAL', 'value':'CUSTOM'}]";

        var customAudienceTypes = Instance.Of<IConfigHelper>().GetStringArrayOfAppSettings(ConfigKeys.Extensions.FacebookAudienceUnsupportedTypeArray, ",");

        var customAudiences = GetResult<FacebookEntitiesResult<FacebookAudience>>(url, token, cursors);
        customAudiences.Data = customAudiences.Data.Where(a => !customAudienceTypes.Contains(a.Data_Source.Type)).ToArray();

        return customAudiences;
    }
 

Конфигурация:

 <key name="FacebookAudienceUnsupportedTypeArray" defaultValue="THIRD_PARTY_IMPORTED"></key>