微信群发sdk「建议收藏」

微信群发sdk「建议收藏」微信sdk

大家好,又见面了,我是你们的朋友全栈君。

微信sdk
<?php /*2018.8.21:xucheng * 微信群发sdk */ class weChatSendNews { 
 private $appid, $secret; public function __construct($appid, $secret) { 
 $this->appid = $appid; $this->secret = $secret; } /* * 微信群发 */ public function index($data){ 
 $access_token = self::getToken(); $url = 'https://api.weixin.qq.com/cgi-bin/message/mass/sendall?access_token='.$access_token; $res = self::http_post_json($url, $data); if ($res['0'] != 200){ $err = array(); $err['error'] = $res['0']; $err['msg'] = 'http error'; echo json_encode($err); }else{ echo $res['1'] ; } } /* * 获取token */ public function getToken(){ 
 $url='https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='.$this->appid.'&secret='.$this->secret; $res = self::http_get_json($url); if ($res['0'] != 200){ $err = array(); $err['error'] = $res['0']; $err['msg'] = 'http error'; echo json_encode($err); }else{ $access_token = json_decode($res['1'],true); return $access_token['access_token']; } } public function http_get_json($url){ 
 $ch = curl_init(); //设置选项,包括URL curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);//绕过ssl验证 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); //执行并获取HTML文档内容 $output = curl_exec($ch); $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); //释放curl句柄 curl_close($ch); return array($httpCode, $output); } public function http_post_json($url, $jsonStr) { 
 $ch = curl_init(); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonStr); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json; charset=utf-8', 'Content-Length: ' . strlen($jsonStr) ) ); $response = curl_exec($ch); $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); return array($httpCode, $response); } /* * 微信上传图片 * $data 消息json串 * https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1481187827_i0l21 */ public function updateImage($path,$type){ 
 // $type = "image"; //声明上传的素材类型,这里为image $token = self::getToken();//调用接口需要获取token,这里使用一个封装好的调取access_token的函数 $url = "https://api.weixin.qq.com/cgi-bin/material/add_material?access_token=".$token."&type=".$type; //这里是请求地址,token和素材类型通过get方式传递 $file_path = $path; //这里声明文件的路径,使用绝对路径 $file_data = array("media" => new \CURLFile($file_path)); //传递的数组,方式二:从PHP5.5版本以后,引入了新的CURLFile 类来指向文件,参数传入的也是绝对路径 $ch = curl_init(); //初始化一个新的会话,返回一个cURL句柄,供curl_setopt(), curl_exec()和curl_close() 函数使用。 curl_setopt($ch , CURLOPT_URL , $url); //需要获取的URL地址,也可以在curl_init()函数中设置。 curl_setopt($ch , CURLOPT_RETURNTRANSFER, 1); //使用PHP curl获取页面内容或提交数据,有时候希望返回的内容作为变量储存, //而不是直接输出。这个时候就必需设置curl的CURLOPT_RETURNTRANSFER选项为1或true curl_setopt($ch , CURLOPT_POST, 1); //发送一个POST请求 curl_setopt($ch , CURLOPT_POSTFIELDS, $file_data); //传递一个关联数组,生成multipart/form-data的POST请求 $output = curl_exec($ch);//发送请求获取结果 curl_close($ch);//关闭会话 $err = array('error'=>'1','msg'=>'update fail'); if($output){ $res = json_decode($output,true); if($res['errcode'] != 0 ){ echo json_encode($err); }else{ echo $output; } }else{ echo json_encode($err); } } /* * 上传图文 */ public function updateMedia($data){ 
 $url = "https://api.weixin.qq.com/cgi-bin/material/add_news?access_token=".self::getToken(); $res = self::http_post_json($url, $data); if ($res['0'] != 200){ $err = array(); $err['error'] = $res['0']; $err['msg'] = 'http error'; echo json_encode($err); }else{ echo $res['1'] ; } } } ?>
测试类
<?php require_once 'weChatSendNews.php'; // $fu = $_GET['a']; $appid = 'wxbfa927e8c095210a'; $secret = 'e02254872763dabe92b37eef01a06dc9'; //$appid = 'wx861be46cbde5a8fd'; //$secret = '815cc4c299112eed011cafe67d0bdf8d'; $file_path = "/Users/alieven/Documents/phpspace/f9e3e3711b88629935ea890252bcc0b3.jpg"; $media_id ='gy4qgbDhECeCjvLixlERL4vDjphZgdq4pMWxnKxwnBM'; $t_media_id ='gy4qgbDhECeCjvLixlERL743MLPSCfJMLo6GN11061E'; $a_media_id = 'gy4qgbDhECeCjvLixlERL2Zv2L7LdgYYUSv9cWvgkvk'; $dataindex = '{"filter":{"is_to_all":true},"text":{"content":"123123"},"msgtype":"text"}'; $type = "thumb"; //参数 是否必须 说明 //title 是 标题 //thumb_media_id 是 图文消息的封面图片素材id(必须是永久mediaID) //author 否 作者 //digest 否 图文消息的摘要,仅有单图文消息才有摘要,多图文此处为空。如果本字段为没有填写,则默认抓取正文前64个字。 //show_cover_pic 是 是否显示封面,0为false,即不显示,1为true,即显示 //content 是 图文消息的具体内容,支持HTML标签,必须少于2万字符,小于1M,且此处会去除JS,涉及图片url必须来源 "上传图文消息内的图片获取URL"接口获取。外部图片url将被过滤。 //content_source_url 是 图文消息的原文地址,即点击“阅读原文”后的URL $data = '{ "articles": [{ "title": "测试123", "thumb_media_id": "gy4qgbDhECeCjvLixlERL743MLPSCfJMLo6GN11061E", "author": "测试", "digest": "测试哦", "show_cover_pic": 1, "content": "gy4qgbDhECeCjvLixlERL743MLPSCfJMLo6GN11061E", "content_source_url": "www.baidu.com" }, ] }'; $wx = new weChatSendNews($appid,$secret); $wx->updateImage($file_path,$type); // $wx->updateMedia($data); // $wx->getToken(); // $wx->index($dataindex); ?>
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/135884.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 嵌入式软件工程师待遇怎么样

    嵌入式软件工程师待遇怎么样本来大家选择嵌入式也就是冲着嵌入式的发展前景不错而来,所以在嵌入式这块还是有很多不知道的知识,这些也都要等着老师去给你讲解了,下面先来了解下嵌入式软件工程师待遇怎么样吧。嵌入式软件工程师待遇怎么样:1、应届毕业生如果你是在一线城市的话,有人带你,你自己有比较学的好,那么你的薪资待遇就可以达到6k+,但是不同公司不同待遇,而且不同地区不同的薪资待遇,就像北上广,这些地区薪资待遇是比其他地区高出2k以上,甚至更高的。就像人家阿里,那工资肯定就比其他公司要高的多。所以得看你要去什么地方发展了,但是平均

  • windows 设置定时锁屏

    windows 设置定时锁屏设置间隔指定时间电脑自动锁屏CreateTime–2017年7月3日10:16:14Author:Marydon参考地址:电脑爱好者杂志举例:实现每间隔45分钟,电脑自动锁屏实现思路:  第一步:编写锁屏命令;  第二步:制定计划。实践:  1.编写锁屏命令    新建一个txt文件,重命名为:lockScreen(名字随意)–>打开该文件添…

  • java中异常的捕获及处理「建议收藏」

    一、Java异常简介什么是异常?程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常。异常发生时,是任程序自生自灭,立刻退出终止。在Java中即,Java在编译或运行或者运行过程中出现的错误。Java提供了更加优秀的解决办法:异常处理机制。异常处理机制能让程序在异常发生时,按照代码的预先设定的异常处理逻辑,针对性地处理异常,让程序尽最大可能恢复正常并继续…

  • thinphp 安装 系统不支持curl!

    thinphp 安装 系统不支持curl!找到php.ini配置文件找到:修改前;extension=php_curl.dll修改后extension=php_curl.dll  //只是去掉前面的”;’分号php_curl.dll存在于php安装包的\ext文件夹下面,如果实在没有,自己去网上下载一个php_curl.dll放到:….\php\ext目录下注意:保存之后,重启一次服务器(

  • FPGA中的流水线设计(Pipeline Design)[通俗易懂]

    FPGA中的流水线设计(Pipeline Design)[通俗易懂]流水线设计前言:本文从四部分对流水线设计进行分析,具体如下:第一部分什么是流水线第二部分什么时候用流水线设计第三部分使用流水线的优缺点第四部分流水线加法器举例第一什么是流水线流水线设计就是将组合逻辑系统地分割,并在各个部分(分级)之间插入寄存器,并暂存中间数据的方法。目的是将一个大操作分解成若干的小操作,每一步小操作的时间较小,所以能提高频率,各小操作能并行执行,所以能…

  • OpenHarmonyOS for Hi3516dv300[通俗易懂]

    OpenHarmonyOS for Hi3516dv300[通俗易懂]OpenHarmonyOSforHi3516dv300一、安装dockermkdiropenHarmonycdopenHarmonysudosnapinstalldocker#获取docker镜像sudodockerpullswr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker-standard:0.0.1#运行镜像sudodockerrun-it-v$(pwd):/h

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号