本文所分享的知识点是【微信公众平台开发(107) 分享到朋友圈和发送给好友】,欢迎您喜欢52ij所分享的新闻、攻略、电脑教程及手机知识等经验,下面是详细的讲解。
微信公众平台开发(107) 分享到朋友圈和发送给好友
<?php class JSSDK { private $appId; private $appSecret; public function __construct($appId, $appSecret) { $this->appId=$appId; $this->appSecret=$appSecret; } public function getSignPackage() { $jsapiTicket=$this->getJsApiTicket(); // 注意 URL 一定要动态获取,不能 hardcode. $protocol=(!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !=='off' || $_SERVER['SERVER_PORT']==443) ? "https://" : "http://"; $url="$protocol$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; $timestamp=time(); $nonceStr=$this->createNonceStr(); // 这里参数的顺序要按照 key 值 ASCII 码升序排序 $string="jsapi_ticket=$jsapiTicket&noncestr=$nonceStr×tamp=$timestamp&url=$url"; $signature=sha1($string); $signPackage=array( "appId"=> $this->appId, "nonceStr"=> $nonceStr, "timestamp"=> $timestamp, "url"=> $url, "signature"=> $signature, "rawString"=> $string ); return $signPackage; } private function createNonceStr($length=16) { $chars="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; $str=""; for ($i=0; $i < $length; $i++) { $str .=substr($chars, mt_rand(0, strlen($chars) - 1), 1); } return $str; } private function getJsApiTicket() { // jsapi_ticket 应该全局存储与更新,以下代码以写入到文件中做示例 $data=json_decode(file_get_contents("jsapi_ticket.json")); if ($data->expire_time < time()) { $accessToken=$this->getAccessToken(); // 如果是企业号用以下 URL 获取 ticket // $url="https://qyapi.weixin.qq.com/cgi-bin/get_jsapi_ticket?access_token=$accessToken"; $url="https://api.weixin.qq.com/cgi-bin/ticket/getticket?type=jsapi&access_token=$accessToken"; $res=json_decode($this->httpGet($url)); $ticket=$res->ticket; if ($ticket) { $data->expire_time=time() + 7000; $data->jsapi_ticket=$ticket; $fp=fopen("jsapi_ticket.json", "w"); fwrite($fp, json_encode($data)); fclose($fp); } } else { $ticket=$data->jsapi_ticket; } return $ticket; } private function getAccessToken() { // access_token 应该全局存储与更新,以下代码以写入到文件中做示例 $data=json_decode(file_get_contents("access_token.json")); if ($data->expire_time < time()) { // 如果是企业号用以下URL获取access_token // $url="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$this->appId&corpsecret=$this->appSecret"; $url="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$this->appId&secret=$this->appSecret"; $res=json_decode($this->httpGet($url)); $access_token=$res->access_token; if ($access_token) { $data->expire_time=time() + 7000; $data->access_token=$access_token; $fp=fopen("access_token.json", "w"); fwrite($fp, json_encode($data)); fclose($fp); } } else { $access_token=$data->access_token; } return $access_token; } private function httpGet($url) { $curl= curl_init(); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_TIMEOUT, 500); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($curl, CURLOPT_URL, $url); $res=curl_exec($curl); curl_close($curl); return $res; } }
关于微信公众平台开发(107) 分享到朋友圈和发送给好友的相关讨论如下:
相关问题:我的公众微信平台怎么,发了信息能让别人分享到朋友圈
答:公众微信平台发的信息可以让别人分享到朋友圈的,操作步骤如下: 1、首先让别人关注自己的微信公众号,然后用微信公众号向别人微信推送信息。 2、接着让别人打开自己手机微信,然后在与公众号的聊天窗口点击打开信息。 3、来到信息的详细页面,... >>详细
相关问题:怎样把微信公众平台分享到微信朋友圈
答:微信公众平台不可以直接分享到朋友圈。 可以通过以下2种方式进行分享: 推荐功能(针对微信好友、微信群) 打开公众号聊天框=》右上角人头标志=》右上角三个点=》推荐给朋友=》选择好友(群); 微信微信公众平台推送的文章链接: 首先关注微信... >>详细
相关问题:微信公众号如何分享到朋友圈
答:微信公众平台不可以直接分享到朋友圈。 可以通过以下2种方式进行分享: 推荐功能(针对微信好友、微信群) 打开公众号聊天框=》右上角人头标志=》右上角三个点=》推荐给朋友=》选择好友(群); 2. 微信微信公众平台推送的文章链接: 首先关注微... >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
