Sha256: ea2a7a3e114dd681f4586f3b86de3eb7a547562315fbe0ca004d9d87db65ff10

Contents?: true

Size: 810 Bytes

Versions: 1

Compression:

Stored size: 810 Bytes

Contents

require 'httpclient'

module Wechat::ShakeAround::Material

  # 上传图片素材
  # http://mp.weixin.qq.com/wiki/5/e997428269ff189d8f9a4b9e177be2d9.html
  #
  # Return hash format if success:
  # {
  #   data:    { pic_url: <ICON_LINK> },
  #   errcode: 0,
  #   errmsg:  'success.'
  # }
  #
  # media 图片完整路径。
  # type 是icon或者license。
  def upload(access_token, media, type)

    assert_present! :access_token, access_token
    assert_present! :media,        media
    assert_present! :type, type

    message = nil
    File.open(media) do |io|
      message = ::HTTPClient.new.post "https://api.weixin.qq.com/shakearound/material/add?access_token=#{access_token}&type=#{type}", { media: io }
    end
    body = message.try :body
    body.present? ? JSON.parse(body) : nil
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
wechat-shake_around-0.9.1 lib/wechat/shake_around/material.rb