Ошибка сценария Python при отправке JSON в ACF в REST API - PullRequest
0 голосов
/ 12 июня 2018

Мне трудно понять, почему я получаю эту ошибку после выполнения POST:

{"code":"cant_update_item","message":"Cannot update item","data":{"status":500}}

данные, которые я публикую, это:

post = { 'allega_file' : { '_file' : [232] } }

где 'allega_file' - это ACF, который содержит поле повторителя '_file', к которому прикреплен идентификатор файла.

Я думал, что это ошибка авторизации, но после создания одного из них я увидел, что обратная связьэто совершенно другое.Я взял ссылку на то, как структурировать повторитель JSON из этого POST https://wordpress.org/support/topic/cant-update-acfs-using-json/

Ребята, вы знаете, где я делаю это неправильно?Здесь вы можете найти скрипт python, который я использую для тестирования API ACF to REST на основе этого примера https://discussion.dreamhost.com/t/how-to-post-content-to-wordpress-using-python-and-rest-api/65166 (который отлично подходит для публикации статей и медиа).

import requests
import json

user = 'user'
pythonapp = 'mykey'
url = 'http://www.example.coop/wp-json/acf/v2/page/149'

headers = {'Authorization': 'Basic ' + 'base64user:pythonapp'}
post = { 'allega_file' : { '_file' : [232] } }                      
r = requests.post(url + '/posts', headers=headers, json=post)

print(headers) #just to check
print(url) #just to check

print(str(r.content))

Для аутентификации скрипта в WP я использую этот плагин https://it.wordpress.org/plugins/application-passwords/

Вместо этого используется плагин ACF to REST API: https://github.com/airesvsg/acf-to-rest-api

...