Загрузить изображение в галерею 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 ошибка. Если у кого-то есть какие-либо предложения относительно того, что я делаю неправильно, или советы о том, как лучше это сделать, я был бы очень признателен. Спасибо!

0 ответов

Другие вопросы по тегам