实现微信发布文章信息收集-微信开发

首页 2024-07-09 08:08:01

最近,一位客户需要实现这样的功能。在他们在微信公共平台上发布文章信息后,他们还需要在官方网站上再次发布文章信息。这相当于做了两次同样的工作。他们想在微信公共平台上发表文章后,同时在官方网站上发布文章。通过研究,小编发现微信公共平台官方网站提供了相关的信息收集接口,原地址如下: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之间

以上是小编总结的获取微信公众平台发布文章资料信息的方法。如有不足,请理解,希望对大神有所帮助。

以上是微信发布文章信息收集的详细内容。请多关注其他相关文章!


p

最新文章

  • 实现微信发布文章信息收集-微信开发

  • iPhone备份,放心删!安全无忧,空间释放

  • 转发和合并转发的区别是什么——微信开发

  • 高效部署,一键安装服务器NET管理器

  • Win10必备:一键创建系统镜像备份

  • behaviors在小程序中是什么?如何创建和使用?-小程序开发

  • U盘系统备份,安全无忧,一步到位!

  • 相关文章

  • 转发和合并转发的区别是什么——微信开发

  • behaviors在小程序中是什么?如何创建和使用?-小程序开发

  • 总结和分享微信小程序开发步骤-小程序开发

  • 本文为您带来了微信小程序的相关知识,主要介绍了微信小程序的开发步骤和主要流程,希望对您有所帮助。

    【相关学习推荐:小程序学习教程】

    目前,applet行业已成为互联网营销的热门黑马之一。applet行业依托主流平台,具有自然的用户基础和独特的资源优势。它以其方便快捷的操作和简单流行的模式,在短短一年内迎来了爆炸性的增长。目前市场上开发的小程序从几千到几万不等。以腾讯云为例,腾讯官方团队设

  • 谈谈小程序如何实现“全文收起”功能-小程序开发

  • 微信小程序开发的底部导航-小程序开发

  • 总结整理微信小程序常用表单组件-小程序开发

  • 总结分享微信小程序常见面试题-小程序开发

  • 简单分析微信小程序元素-小程序开发

  • 总结整理微信小程序权限界面-小程序开发

  • 微信小程序WXML模板语法总结-小程序开发

  • 微信小程序视图层详解-小程序开发