Загрузить список адресов электронной почты в Facebook через API

Мне нужно отправить или создать список электронных писем пользователей в нашу деловую учетную запись facebook в качестве списка аудитории, чтобы мы могли использовать его в наших маркетинговых целях (я использую Python 3.8).

Ниже приведен код, который я получил от Google, но когда я искал, я обнаружил, что мы не можем напрямую передавать электронные письма в Facebook через API.

Есть ли у вас какие-либо предложения о том, как этого добиться? Также могу ли я передать идентификатор электронной почты в этот список fields = [] в приведенном ниже коде? И что означает идентификатор?

  from facebook_business.adobjects.adaccount import AdAccount
    from facebook_business.adobjects.customaudience import CustomAudience
    from facebook_business.api import FacebookAdsApi
     
    
    access_token = 'EAAi0wZCiZxxxxxxxxxxxxxxxDZD'
    app_secret = 'xxxxxxxxxxxxxxx'
    app_id = 'xxxxxxxxxxx'
    id = '<ID>'

    fields = []
    FacebookAdsApi.init(access_token=access_token)
    print("Access succesful") 
    params = {
      'name': 'My new Custom Audience',
      'subtype': 'CUSTOM',
      'description': 'People who purchased on my website',
      'customer_file_source': 'USER_PROVIDED_ONLY',
    }
    print (AdAccount(id).create_custom_audience(
      fields=fields,
      params=params,
    ))



Ответы (1)


Сначала вы должны создать пользовательскую аудиторию, как вы уже это сделали, затем вы можете добавлять/удалять электронные письма с помощью SDK API (вам не нужно вручную хэшировать электронную почту: SDK сделает это за вас). Например:

custom_audience = CustomAudience(DocsDataStore.get('ca_id'))
        response = custom_audience.add_users(
            schema=CustomAudience.Schema.email_hash,
            users=[
                '[email protected]',
            ]
        )

Если вы посмотрите на SDK Документ здесь:

CustomAudience.add_users (schema, users, is_raw, app_ids, pre_hashed)

pre_hashed: Whether or not the data has already been hashed. If not, the SDK will automatically hash the data

См. также SDK Doc TestCase здесь

person Matteo    schedule 05.10.2020