服务热线:

027-88930383 13807165275(微信)

页面标题
欢迎浏览我们的资讯
了解海创实时动态
海创教您实现微信发布推文自动发在官网上
发布时间:2022.09.15

最近有一个客户在微信开发中,需要实现这样一个功能:之前他们在微信公众平台发布文章信息后,还需要在官网再发布一次,这样等于是同样的工作做了两遍,他们想实现在微信公众平台发布文章后,能够自动发布到官网上。


a4.jpg


海创通过研究,发现微信公众平台官网提供了相关的信息采集接口,原文地址如下:

https://developers.weixin.qq.com/doc/offiaccount/Asset_Management/Get_materials_list.html


接口名称为:获取永久素材,其实就是新增素材文章时,点击发布后保存的文章素材信息,如下图:


1A.png



只有点击了发布按钮保存到发表记录--发布中的文章素材,才可以被采集,如下图:

A2.png

下面做详细说明:


接口&http请求方式:

POST https://api.weixin.qq.com/cgi-bin/material/batchget_material?access_token=ACCESS_TOKEN


1 获取ACCESS_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'=>'AccessToken更新失败']);
                }
                $AccessToken = $res['access_token'];
            }else{
                return json(['code'=>100,'msg'=>'AccessToken获取失败']);
            }
        }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'=>'AccessToken插入失败']);
            }
 
        }else{
            return json(['code'=>100,'msg'=>'AccessToken获取失败']);
        }
    }
    return $AccessToken;
}


注意:

在制作之前需要在数据库添加数据表:access_token,用来存储获取到的access_token值,因为每次获取到的access_token值的有效时长是7200s,这样避免重复获取access_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之间


以上就是实现微信发布文章信息采集的详细内容,有同类需求的客户还有咨询我们,选择我们你将享受以下5重保障:


1、N对一服务:全程提供高品质优质服务(设计、开发、售后);

2、专人对接:专职项目经理确保项目开发质量和进度,为客户产品需求、产品开发保驾护航;

3、软著申请:我们提供软著代申请服务,为客户提供有软著证书的优质产品;

4、交付能力:100%如期交付,提供源码,保证客户产品版权、利益;

5、全国售后:支持7*24小时服务,提供全天候的售后技术支持服务。

海创网络 2010-2024 武汉海创华联信息技术有限公司

武汉小程序开发 - 武汉系统开发 - 武汉APP开发 - 武汉网站建设

地址:武汉市和平大道716号恒大世纪广场39楼

扫描二维码加微信交谈

QQ/微信:68782765

服务项目
客户案例
电话咨询

027-88930383
13807165275(微信)

027-88930383
13807165275(微信)

微信咨询
点击保存图片或扫码加微信
或加13807165275微信
在线咨询

开发需求在线交谈

开发需求在线交谈

在线咨询

开发需求在线交谈

开发需求在线交谈

QQ咨询

QQ:68782765

QQ:68782765

TOP