最近,一位客户需要实现这样的功能。在他们在微信公共平台上发布文章信息后,他们还需要在官方网站上再次发布文章信息。这相当于做了两次同样的工作。他们想在微信公共平台上发表文章后,同时在官方网站上发布文章。通过研究,小编发现微信公共平台官方网站提供了相关的信息收集接口,原地址如下:https://developers.weixin.qq.com/doc/offiaccount/asset_management/get_materials_list.html
接口名称为:获取永久材料,实际上是在添加新材料文章时,点击发布后保存的文章材料信息,如下图所示:
只有点击发布按钮保存到发布记录-发布中的文章材料,才能收集,如下图所示:
下面的小编做了详细的说明
接口:
http请求方式:?
POST https://api.weixin.qq.com/cgi-bin/material/batchget_material?access_token=ACCESS_TOKEN
1 获得ACCES_TOKEN
public function getAccessToken(){ $info = Db::name('access_token')->order('inputtime desc')->find(); if($info){ $time = time(); $long_time = $time - $info['updatetime']; if($long_time>=$info['expires_in']){ $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$this->appid."&secret=".$this->secret; $res = $this->getJson($url); if(in_array('access_token',$this->DbSy->GetArrElement($res))){ $insert['access_token'] = $res['access_token']; $insert['expires_in'] = $res['expires_in']; $insert['updatetime'] = time(); $up_info = Db::name('access_token')->where('id',$info['id'])->update($insert); if(!$up_info){ return json(['code'=>103,'msg'=>'Accestoken更新失败']); } $AccessToken = $res['access_token']; }else{ return json(['code'=>100,'msg'=>'Accestoken失败']); } }else{ $AccessToken = $info['access_token']; } }else{ $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$this->appid."&secret=".$this->secret; $res = $this->getJson($url); if(in_array('access_token',$this->DbSy->GetArrElement($res))){ $insert['access_token'] = $res['access_token']; $insert['expires_in'] = $res['expires_in']; $insert['updatetime'] = time(); $insert['inputtime'] = time(); $up_info = Db::name('access_token')->where('id',$info['id'])->insertGetId($insert); if($up_info){ $AccessToken = $res['access_token']; }else{ return json(['code'=>101,'msg'=>'Accestoken插入失败']); } }else{ return json(['code'=>100,'msg'=>'Accestoken失败']); } } return $AccessToken; }
注意:
在生产前,需要在数据库中添加数据表:access_token,用于存储获得的access_token值,因为每次获得的acces_token值的有效期为7200s,以避免重复获得acces_token值。
2 获取材料列表
获得access_token值后,可通过access_token值获得材料列表:
public function getArticleList($offset,$type='news',$length=20){ $data = array( 'type'=>$type, 'offset'=>$offset, 'count'=>$length ); $json_data = json_encode($data); $AccessToken = $this->getAccessToken(); $url = "https://api.weixin.qq.com/cgi-bin/material/batchget_material?access_token=".$AccessToken; $res = $this->getJsonData($url,$json_data); return $res; //dump($res); }
其中:
(1)type,图片是材料的类型(image)、视频(video)、语音 (voice)、图文(news)
(2)offset,从所有材料的偏移位置开始返回,0意味着从第一个材料返回
(3)count,返回材料的数量,值在1到20之间
以上是小编总结的获取微信公众平台发布文章资料信息的方法。如有不足,请理解,希望对大神有所帮助。
以上是微信发布文章信息收集的详细内容。请多关注其他相关文章!
实现微信发布文章信息收集-微信开发
iPhone备份,放心删!安全无忧,空间释放
转发和合并转发的区别是什么——微信开发
高效部署,一键安装服务器NET管理器
Win10必备:一键创建系统镜像备份
behaviors在小程序中是什么?如何创建和使用?-小程序开发
U盘系统备份,安全无忧,一步到位!
转发和合并转发的区别是什么——微信开发
behaviors在小程序中是什么?如何创建和使用?-小程序开发
总结和分享微信小程序开发步骤-小程序开发
本文为您带来了微信小程序的相关知识,主要介绍了微信小程序的开发步骤和主要流程,希望对您有所帮助。
【相关学习推荐:小程序学习教程】
目前,applet行业已成为互联网营销的热门黑马之一。applet行业依托主流平台,具有自然的用户基础和独特的资源优势。它以其方便快捷的操作和简单流行的模式,在短短一年内迎来了爆炸性的增长。目前市场上开发的小程序从几千到几万不等。以腾讯云为例,腾讯官方团队设
谈谈小程序如何实现“全文收起”功能-小程序开发
微信小程序开发的底部导航-小程序开发
总结整理微信小程序常用表单组件-小程序开发
总结分享微信小程序常见面试题-小程序开发
简单分析微信小程序元素-小程序开发
总结整理微信小程序权限界面-小程序开发
微信小程序WXML模板语法总结-小程序开发
微信小程序视图层详解-小程序开发