课程中心 问答&分享 读书 注册、登录 关闭菜单
《微信公众号开发权威教程》
目录
第一章 课程介绍及环境部署 课程介绍及环境部署 第二章 开发者模式接入及消息回复 2.1 开发者模式接入 2.2 接收客户消息及openId 2.3 回复文本消息 2.4 回复图文消息 2.5 封装slog函数记录接口信息 第三章 获取接口调用凭据 3.1 基础知识 - curl 3.2 获取access token 3.3 获取微信服务器IP地址 第四章 接收事件推送 4.1 关注/取消关注事件 4.2 上报地理位置事件 第五章 菜单创建及菜单点击事件 5.1 接口形式创建自定义菜单 5.2 自定义菜单点击事件的识别 第六章 微信网页开发 6.1 微信网页授权-微信登录 6.2 微信JS-SDK介绍 6.3 微信JS-SDK部署 6.4 分享接口的实现 6.5 图片接口 6.6 音频接口 第七章 素材管理 7.1 新增临时素材 7.2 获取临时素材 7.3 新增永久素材 7.4 获取素材列表及素材总数 7.5 删除永久素材 第八章 微信盖楼游戏 8.1 盖楼游戏原理 8.2 盖楼游戏源码 第九章 天气查询 9.1 百度免费天气API介绍 9.2 微信公众号天气查询开发
7.3 新增永久素材

除了3天就会失效的临时素材外,开发者有时需要永久保存一些素材,届时就可以通过本接口新增永久素材。
最近更新,永久图片素材新增后,将带有URL返回给开发者,开发者可以在腾讯系域名内使用(腾讯系域名外使用,图片将被屏蔽)。
请注意:
1、新增的永久素材也可以在公众平台官网素材管理模块中看到
2、永久素材的数量是有上限的,请谨慎新增。图文消息素材和图片素材的上限为5000,其他类型为1000
3、素材的格式大小等要求与公众平台官网一致。具体是,图片大小不超过2M,支持bmp/png/jpeg/jpg/gif格式,语音大小不超过5M,长度不超过60秒(公众平台官网可以在文章中插入小于30分钟的语音,但这些语音不能用于群发等场景,只能放在文章内,这方面接口暂不支持),支持mp3/wma/wav/amr格式
4、调用该接口需https协议


上传图文消息内的图片获取URL

请注意,本接口所上传的图片不占用公众号的素材库中图片数量的5000个的限制。图片仅支持jpg/png格式,大小必须在1MB以下。

接口调用请求说明
http请求方式: POST
https://api.weixin.qq.com/cgi-bin/media/uploadimg?access_token=ACCESS_TOKEN
调用示例(使用curl命令,用FORM表单方式上传一个图片):
curl -F media=@test.jpg "https://api.weixin.qq.com/cgi-bin/media/uploadimg?access_token=ACCESS_TOKEN"

代码实例

<?php
if(!empty($_FILES['file'])){
    include 'wx.php';
    $wechatObj->getAccessToken();
    //1、上传到服务器
    $targetName = 'uploads/'.$_FILES['file']['name'];
    move_uploaded_file($_FILES['file']['tmp_name'], $targetName);
    //2、同步到微信服务器
    $url = 'https://api.weixin.qq.com/cgi-bin/media/uploadimg?access_token='.$wechatObj->accessToken;
    $data = array('media' => '@'.$targetName);
    $ch  = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER , true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER , false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST , false);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    $res  = curl_exec($ch);
    echo $res;
    $curlStatus = curl_getinfo($ch);
    curl_close($ch);
}
?>
<html>
<head>
<title>demo</title>
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport" />
<meta content="yes" name="apple-mobile-web-app-capable" />
<meta content="black" name="apple-mobile-web-app-status-bar-style" />
<meta name="format-detection" content="telephone=no" />
</head>
<body>
<form action="" method="post" enctype="multipart/form-data">
    <input type="file" name="file" /><br />
    <input type="submit" value="上传" />
</form>
</body>
<script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js" type="text/javascript"></script>
<script type="text/javascript" src="http://libs.baidu.com/jquery/1.10.2/jquery.js"></script>
</html>

其中url就是上传图片的URL,可用于后续群发中,放置到图文消息中。


新增其他类型永久素材
接口调用请求说明
通过POST表单来调用接口,表单id为media,包含需要上传的素材内容,有filename、filelength、content-type等信息。请注意:图片素材将进入公众平台官网素材管理模块中的默认分组。

http请求方式: POST,需使用https
https://api.weixin.qq.com/cgi-bin/material/add_material?access_token=ACCESS_TOKEN
调用示例(使用curl命令,用FORM表单方式新增一个其他类型的永久素材,curl命令的使用请自行查阅资料)

参数说明

新增永久视频素材需特别注意

在上传视频素材时需要POST另一个表单,id为description,包含素材的描述信息,内容格式为JSON,格式如下:
{
"title":VIDEO_TITLE,
"introduction":INTRODUCTION
}


新增永久视频素材的调用示例

curl "https://api.weixin.qq.com/cgi-bin/material/add_material?access_token=ACCESS_TOKEN" 
-F media=@media.file -F  description='{"title":VIDEO_TITLE, "introduction":INTRODUCTION}'

返回说明

{
  "media_id":MEDIA_ID,
  "url":URL
}

错误情况下的返回JSON数据包示例如下(示例为无效媒体类型错误):

{"errcode":40007,"errmsg":"invalid media_id"}


CopyRight © 2011 - 2016 Hcoder.net 陕ICP备14004669号-2
客服QQ : 1265928288