Загрузить изображение в галерею Wordpress.com с REST API
Я пытаюсь загрузить изображение в блог WordPress.com через их REST API. Согласно их документации, я должен быть в состоянии использовать new post
конечная точка, чтобы сделать это. В настоящее время я использую Rails и rest-client, чтобы успешно создавать текстовые сообщения, используя следующий код (post_hash
содержит всю информацию поста):
url = "https://public-api.wordpress.com/rest/v1/sites/" + @blog.external_id + "/posts/new"
params = {
pretty = true,
title: post_hash[:post_title],
content: post_hash[:post_content],
categories: post_hash[:terms_names][:category],
tags: post_hash[:terms_names][:post_tag]
}
headers = { authorization: "Bearer " + @oauth_token, content_type: :json }
RestClient.post(url, params, headers)
Как я уже говорил, это работает отлично. Теперь я хотел бы иметь возможность загрузить новое изображение в галерею блога, создав новую "публикацию" с прикрепленным изображением. Я пытаюсь использовать этот код для этого (image
файл CarrierWave, хранящийся в Amazon S3):
url = "https://public-api.wordpress.com/rest/v1/sites/" + @blog.external_id + "/posts/new"
image_data = open(image.to_s, "rb").read
params = {
format: "image",
media: [image_data],
multipart: true
}
headers = { authorization: "Bearer " + @oauth_token, content_type: image.content_type }
RestClient.post(url, params, headers)
Это не работает и продолжает давать мне 400 Bad Request
ошибка. Если у кого-то есть какие-либо предложения относительно того, что я делаю неправильно, или советы о том, как лучше это сделать, я был бы очень признателен. Спасибо!