zoukankan      html  css  js  c++  java
  • 入门指引之上传临时素材

    公众号经常有需要用到一些临时性的多媒体素材的场景,例如在使用接口特别是发送消息时,对多媒体文件、多媒体消息的获取和调用等操作,是通过MediaID来进行的。譬如实现“图”尚往来中,粉丝给公众号发送图片消息,便产生一临时素材。

    因为永久素材有数量的限制,但是公众号又需要临时性使用一些素材,因而产生了临时素材。这类素材不在微信公众平台后台长期存储,所以在公众平台官网的素材管理中查询不到,但是可以通过接口对其操作。

    接口操作:

    http请求方式:POST/FORM,使用https
    https://api.weixin.qq.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&type=TYPE
    调用示例(使用curl命令,用FORM表单方式上传一个多媒体文件):
    curl -F media=@test.jpg "https://api.weixin.qq.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&type=TYPE"

    Type: 媒体文件类型,分别有图片(image)、语音(voice)、视频(video)和缩略图(thumb)

    代码:获取token的代码,请参考上一篇

    # -*- coding: utf-8 -*-
    # filename: media.py
    from basic import Basic
    import urllib.request
    import requests
    import json
    import os
    class Media(object):
        def upload(self, accessToken, filePath, mediaType):
            openFile = open(filePath, "rb")
            param = {'media': openFile}
            postUrl = "https://api.weixin.qq.com/cgi-bin/media/upload?access_token=%s&type=%s" % (accessToken, mediaType)
            r = requests.post(postUrl, files=param)
            print(r.json())
            return  r.json() # 在python中竟然直接类型是dict
         #命令行方式
    # cmd='curl -F media=@%s "https://api.weixin.qq.com/cgi-bin/media/upload?access_token=%s&type=%s"' %( # filtPath,accessToken,mediaType # ) # print(os.system(cmd))
    #filePath: 是自己电脑上,真实的临时素材位置.

    返回的值为:可以直接拿到 media_id的值

    获取临时素材:

    开发者如何保存粉丝发送的图片呢?接口文档:获取临时素材接口,为方便理解,从最简单浏览器获取素材的方法入手,根据实际情况,浏览器输入网址:

    https://api.weixin.qq.com/cgi-bin/media/get?access_token=ACCESS_TOKEN&media_id=MEDIA_ID (自行替换数据)

    代码:

        def download(self,accessToken,media_id):
            url = "https://api.weixin.qq.com/cgi-bin/media/get?access_token=%s&media_id=%s"%(accessToken,media_id)
            r = requests.get(url)
            buffer = r.content
            mediaFile = open("test_media.jpg", "wb")
            mediaFile.write(buffer)
            print("get successful")
  • 相关阅读:
    hdoj1251 统计难题 字典树
    nyoj322 sort 归并排序,树状数组
    优先队列 如何使用
    字典树(讲解+模版)
    hdoj1069 Monkey and Banana
    ny10 skilng
    hdoj1075 What Are You Talking About
    hdoj1171 Big Event in HDU
    ny613 免费馅饼
    Spring Boot2.0之Admin-UI分布式微服务监控中心
  • 原文地址:https://www.cnblogs.com/ahMay/p/11683701.html
Copyright © 2011-2022 走看看