Как исправить ошибку «Отсутствует легальный контент» при создании формы LeadGen через Facebook Marketing API - PullRequest
0 голосов
/ 12 февраля 2019

Я пытаюсь создать LeadgenForm, используя remote_create () в Python.Я добавил детали политики конфиденциальности в LeadGenLegalContent.Но с учетом приведенных деталей форма создания потенциальных возможностей не была создана.Любая подсказка о следующей ошибке?

Статус: 400 Ответ: {"error": {"code": 100, "is_transient": false, "error_subcode": 1892075, "error_user_msg": "Для создания формы LeadGen требуется указать legal_content_id или privacy_policy »,« error_user_title »:« Отсутствует допустимый контент »,« message »:« Недопустимый параметр »,« type »:« OAuthException »,« fbtrace_id »:« GNmKk1KZxmm »}}

Идея состоит в том, чтобы создать ведущую рекламу с помощью API.Я могу создать Campaign, Adset, Creative и Ad для существующей формы (используя lead_gen_form_id).Когда я пытался создать новую форму, используя LeadGenLegalContent, отображалось вышеуказанное сообщение.

leadgenquestion = LeadGenQuestion(parent_id = facebook_page_id)
leadgenquestion[LeadGenQuestion.Field.type] ='EMAIL'
leadgenquestion[LeadGenQuestion.Field.key] = 'question1'

leadgenlegalcontent = LeadGenLegalContent(parent_id = facebook_page_id)
leadgenlegalcontent[LeadGenLegalContent.Field.privacy_policy] = {'url': fbil_url, 'link_text' : 'Read the Privacy Policy'}

leadgenform = LeadgenForm(facebook_page_id)             
leadgenform[LeadgenForm.Field.name] = 'Form Name'
leadgenform[LeadgenForm.Field.follow_up_action_url] = fbil_url
leadgenform[LeadgenForm.Field.questions] = leadgenquestion
leadgenform[LeadgenForm.Field.legal_content] = leadgenlegalcontent 
leadgenform[LeadgenForm.Field.status] = LeadgenForm.Status.active                     
leadgenform[LeadgenForm.Field.privacy_policy_url] = fbil_url
leadgenform[LeadgenForm.Field.created_time] = str(datetime.datetime.now())
leadgenform[LeadgenForm.Field.locale] = 'EN_US'        
leadgenform.remote_create()

1 Ответ

0 голосов
/ 23 февраля 2019

Привет Вам нужен legal_content_id.Вы можете получить это с помощью:

curl 'https://graph.facebook.com//v3.2/PAGE_ID/leadgen_legal_content?access_token=ACCESS_TOKEN'

Ваш токен доступа должен быть со страницы, поэтому перед этим:

curl -X GET 'https://graph.facebook.com//v3.2/PAGE_ID?fields=access_token&access_token=ACCESS_TOKEN' 

, где вторым является токен доступа пользователя.

Тогда я просто добавляю простое поле в мою новую форму.В вашем случае это должно быть как:

leadgenform["legal_content_id"] = "<legal_content_id>"

leadgenform.remote_create()
...