国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

當前位置:雨林木風下載站 > 網絡軟件教程 > 詳細頁面

最新整理出的微信分享后端接口完成的大致流程

最新整理出的微信分享后端接口完成的大致流程

更新時間:2025-09-20 文章作者:未知 信息來源:網絡 閱讀次數:

微信(WeChat)是騰訊公司于2011年1月21日推出的一個為智能終端提供即時通訊服務的免費應用程序,由張小龍所帶領的騰訊廣州研發中心產品團隊打造 [2] 。微信支持跨通信運營商、跨操作系統平臺...
微信(WeChat)是騰訊公司于2011年1月21日推出的一個為智能終端提供即時通訊服務的免費應用程序,由張小龍所帶領的騰訊廣州研發中心產品團隊打造 [2] 。微信支持跨通信運營商、跨操作系統平臺通過網絡快速發送免費(需消耗少量網絡流量)語音短信、視頻、圖片和文字,同時,也可以使用通過共享流媒體內容的資料和基于位置的社交插件“搖一搖”、“漂流瓶”、“朋友圈”、”公眾平臺“、”語音記事本“等服務插件。

微信分享后臺接口簡單實現

此接口大致的流程是:用戶創建時間戳,隨機字符串,當前需要分享的頁面的url三個變量,接著將自己的appid和APPsecret作為請求參數獲取access_token,再根據access_token獲取jsapi_ticket, 并將獲取的jsapi-ticket進行加密、校驗以及自己創建的三個變量進行簽名,注意簽名過程案按照 key 值 ASCII 碼升序排序封裝成json格式的數據傳送到前臺JS頁面,具體程序如下;

public class WeiXinShareAction extends HttpServlet {
    private static final long serialVersionUID = 1L;

    private Integer main_count = 888;
    private String flag = "1";
    private Log logger = LogFactory.getLog(this.getClass());

    private String filePath = "/B.txt";

    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        JsonObject jsonObject = new JsonObject();

        String ticket = null;
        String[] wxInfo = new String[] { "wx007344f87ae48300", "5442edc712b6846bdd1c058b7f2318fe" };
        WeiXinUtil wxu = new WeiXinUtil();
        String ticketResString;

        try {

            ticketResString = wxu.getShareJsapiTicket(wxInfo);
            if (StringUtils.isNotEmpty(ticketResString)) {
                JSONObject ticketJSONObject = JSONObject.fromObject(ticketResString);
                if (ticketJSONObject.getInt("errcode") == 0) {
                    ticket = JSONObject.fromObject(ticketResString).getString("ticket");
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

        if (StringUtils.isEmpty(ticket)) {
            jsonObject.addProperty("errcode", 10002);
            jsonObject.addProperty("errmsg", "ticket_error");
            this.responseWrite(jsonObject.toString(), response);
            return;
        }
        String noncestr = this.createNonceStr();
        int timestamp = this.createTimestamp();
        String requestRefererURL = request.getHeader("referer");
        flag = request.getParameter("temp");
        logger.info("flag--------------" + flag);
        //這里是保存點擊次數
        //沒有數據庫的情況下 保證服務重啟后點擊次數不清零
        //利用線程鎖 使用IO流 對點擊次數進行修改保存
             Thread_readFile thf4 = new Thread_readFile();
             thf4.start();

        logger.warn("requestRefererURL: " + requestRefererURL);

        String signature = this.createSignature(noncestr, ticket, timestamp, requestRefererURL);

        jsonObject.addProperty("countNum", main_count);//點擊次數
        jsonObject.addProperty("errcode", 0);//
        jsonObject.addProperty("errmsg", "");//
        jsonObject.addProperty("wxuser", wxInfo[0]); // appId
        jsonObject.addProperty("timestamp", timestamp);//時間戳
        jsonObject.addProperty("noncestr", noncestr);//隨機字符串
        jsonObject.addProperty("signature", signature);//簽名
        response.setHeader("Access-Control-Allow-Origin", "*");
        this.responseWrite(jsonObject.toString(), response);
    }
    private void responseWrite(String content, HttpServletResponse response) {
        try {
            response.setCharacterEncoding("utf-8");
            response.getWriter().write(content);
        } catch (Exception e) {
            logger.error("responseWrite error in WeiXinShareAction", e);
        }
    }
}

獲取access_token;這里開發過程中要注意微信為了減輕對服務器的訪問壓力 限制了access_token每天的生成次數 以及使用時長;
由于限制時長為7200s 于是做了一個判斷 再生成一個token后的2小時用同一個token ;
這里僅僅只是一個小接口 于是選擇將 最近一次的生成時間 以及 token 存為靜態變量,

    /**
     * 微信分享,獲取access_token
     */
    private String getWeiXinAccessToken(String[] wxInfo) throws Exception {
         //得到當前時間
        long current_time = System.currentTimeMillis();
        // 每次調用,判斷expires_in是否過期,如果token時間超時,重新獲取,expires_in有效期為7200
        if ((current_time - last_time) / 1000 >= 7200) {

            logger.info("第一次訪問"+current_time);
            logger.info("(current_time - last_time) / 1000===="+(current_time - last_time) / 1000);

            String url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" + wxInfo[0]
                    + "&secret=" + wxInfo[1];

            String result = this.httpReqExecute(url);
            this.logger.warn("from weixin api accessToken: " + result);
            try {
                last_time = current_time; 
                if (StringUtils.isNotEmpty(result)) {
//                   解析respContent,并獲取其中的更新的key,
                    accessToken = JSONObject.fromObject(result).getString("access_token");
//                  保存access_token
                    return accessToken;
                }
            } catch (Exception e) {
                logger.error("getAccessToken error in WeiXinShareAction", e);
            }
        }else{
            logger.info("第二次訪問"+last_time);
            logger.info("(current_time - last_time) / 1000===="+(current_time - last_time) / 1000);
            logger.info("from weixin api accessToken:"+accessToken);
            return accessToken;
        }
        return null;
    }

根據access_token獲取jsapiTicket

    /**
     * 微信分享,獲取jsapiTicket
     */
    public String getShareJsapiTicket(String[] wxInfo) throws Exception {

        String access_Token = this.getWeiXinAccessToken(wxInfo);

        if (StringUtils.isEmpty(access_Token)) { // 獲取 accessToken 失敗
            //this.logger.warn(siteId + " accessToken is empty.");
            JsonObject jsonObject = new JsonObject();
            jsonObject.addProperty("errcode", "10000");
            jsonObject.addProperty("errmsg", "access_error");
            return jsonObject.toString();
        }

        String url = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=" + access_Token + "&type=jsapi";
        String jsapiTicket = this.httpReqExecute(url);
        this.logger.warn(" from weixin api jsapiTicket is: " + jsapiTicket);

        if (StringUtils.isNotEmpty(jsapiTicket)) {
            return jsapiTicket;
        }
        return null;
    }

Http遠程調用

    private String httpReqExecute(String url) {
        String result = "";
        DefaultHttpClient httpclient = null;
        try {
            httpclient = new DefaultHttpClient();
            HttpPost httppost = new HttpPost(url);
            // 執行
            HttpResponse response = httpclient.execute(httppost);
            HttpEntity entity = response.getEntity();
            if (entity != null && response.getStatusLine().getStatusCode() == 200) {
                result = EntityUtils.toString(entity, "UTF-8");
            }
        } catch (Exception e) {
            logger.error(" WeiXinShareAction 調用微信 API 失敗!", e);
        } finally {// 關閉連接,釋放資源
            httpclient.getConnectionManager().shutdown();
        }
        return result;
    }

返回成功

 from weixin api accessToken: {"access_token":"12_9UgVn7tFVtvf_7r4Lq4V9W9-pQdZpqWxVjFsPoF3hv3J5_XfwQWqauj4n9-ZMikC1_oCp0IpBxjpZr-Ty8XzG8QMeV2QVukFz5_NP7kjAB05MX9msxRg0FlpAAMjonrrh5wxSEFfKHEc0_BDHFKjAFAXVA","expires_in":7200}

 from weixin api jsapiTicket is: {"errcode":0,"errmsg":"ok","ticket":"HoagFKDcsGMVCIY2vOjf9j_Us44Qhuo4KdgH5u8ewMjOCTUO44m1hKqgEsJYIyFR9HWrmmz-wrsb9KLdmpATRw","expires_in":7200}

相關文章:

實現Node.js在微信JS-SDK后端接口

微信端h5頁面如何調用分享頁面的接口

javascript - 手機端的分享至微信 微信朋友圈 qq好友的接口地址?

相關視頻:

微信公眾平臺接口二次開發視頻教程

以上就是最新整理出的微信分享后端接口實現的大致流程的詳細內容,更多請關注php中文網其它相關文章!


微信提供公眾平臺、朋友圈、消息推送等功能,用戶可以通過“搖一搖”、“搜索號碼”、“附近的人”、掃二維碼方式添加好友和關注公眾平臺,同時微信將內容分享給好友以及將用戶看到的精彩內容分享到微信朋友圈。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

  • <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        亚洲欧美国产77777| 99精品国产热久久91蜜凸| 蜜臂av日日欢夜夜爽一区| 色哟哟一区二区在线观看| 国产精品久久久久久妇女6080| 国产黑丝在线一区二区三区| 久久久久国色av免费看影院| 国产成人一区二区精品非洲| 国产婷婷色一区二区三区| 成人激情综合网站| 亚洲欧美日韩成人高清在线一区| 97se亚洲国产综合在线| 亚洲激情自拍偷拍| 制服丝袜成人动漫| 久久精品av麻豆的观看方式| 2017欧美狠狠色| 99精品视频在线观看| 一区二区三区精品在线观看| 日韩欧美色综合| 成人一区二区三区在线观看| 亚洲日本青草视频在线怡红院| 欧美日韩成人在线| 国产九色精品成人porny| 亚洲视频在线一区二区| 4438成人网| av男人天堂一区| 日韩精品电影在线| 国产精品三级电影| 欧美一区二区三区婷婷月色| 成人v精品蜜桃久久一区| 日本成人中文字幕| 亚洲日本韩国一区| 久久久精品影视| 欧美日韩不卡一区| 成人av影院在线| 精品一区二区三区在线播放| 亚洲一线二线三线视频| 国产三级欧美三级日产三级99| 色哟哟亚洲精品| 成人午夜视频网站| 全部av―极品视觉盛宴亚洲| 亚洲一区二区三区中文字幕| 中文字幕av一区二区三区高 | caoporm超碰国产精品| 图片区小说区国产精品视频 | 日韩欧美中文字幕精品| 91小视频免费看| 国产成人在线网站| 免费成人结看片| 性做久久久久久| 亚洲乱码国产乱码精品精的特点 | 中文字幕欧美激情一区| 精品粉嫩超白一线天av| 日韩情涩欧美日韩视频| 欧美日韩一二区| 欧美三电影在线| 在线免费观看成人短视频| 成人国产视频在线观看| 成人精品视频网站| 国产福利一区二区三区视频| 国产一区二区三区在线观看免费视频| 男女性色大片免费观看一区二区| 视频一区中文字幕| 午夜婷婷国产麻豆精品| 免费看欧美美女黄的网站| 日本亚洲最大的色成网站www| 首页综合国产亚洲丝袜| 麻豆91免费观看| 国产精品一卡二| 成人黄色一级视频| 99久久99久久精品国产片果冻 | 国产一区二区三区在线看麻豆| 国产一区二区三区免费看| 精彩视频一区二区| 国产精品77777| 91性感美女视频| 69av一区二区三区| 日韩精品一区二区三区视频播放 | 26uuu亚洲| 国产欧美综合色| 亚洲欧美电影一区二区| 一区二区久久久久久| 午夜精品久久久久久久99水蜜桃| 麻豆国产一区二区| 国产成人高清在线| 在线欧美日韩精品| 精品对白一区国产伦| 亚洲视频每日更新| 日韩电影在线免费观看| 丰满岳乱妇一区二区三区| 欧美日韩在线电影| 精品国产髙清在线看国产毛片| 国产精品黄色在线观看| 日一区二区三区| 成人综合在线网站| 欧美日韩高清不卡| 国产精品午夜电影| 青青草伊人久久| 91小视频免费观看| 久久综合九色欧美综合狠狠| 亚洲欧美日韩一区二区三区在线观看| 午夜精品视频一区| 成人av资源下载| 日韩视频一区二区三区在线播放| 国产精品久久久久久久久晋中 | 在线精品观看国产| 精品国产一区二区在线观看| 亚洲资源中文字幕| 懂色av一区二区三区免费观看| 91精品久久久久久久99蜜桃| 国产精品丝袜久久久久久app| 视频精品一区二区| 91亚洲精品乱码久久久久久蜜桃 | 成人精品gif动图一区| 日韩美女在线视频| 丝袜诱惑制服诱惑色一区在线观看 | 亚洲另类在线视频| 国产成人日日夜夜| 亚洲精品在线一区二区| 天堂久久久久va久久久久| 欧美系列日韩一区| 亚洲青青青在线视频| 成人性生交大片免费| 国产嫩草影院久久久久| 国产在线麻豆精品观看| 精品国产一区二区亚洲人成毛片 | 婷婷激情综合网| 99国产精品久久久久久久久久| 久久久亚洲欧洲日产国码αv| 蜜桃传媒麻豆第一区在线观看| 欧美日韩精品欧美日韩精品| 亚洲香肠在线观看| 欧美日韩国产一级片| 天堂一区二区在线| 欧美一区二区三区人| 日本成人超碰在线观看| 日韩精品一区二区三区三区免费| 久久丁香综合五月国产三级网站 | 日韩欧美一区二区在线视频| 日本在线不卡视频| 日韩欧美国产不卡| 国产一区二区三区最好精华液| 国产亚洲欧美在线| 高清在线观看日韩| 日韩毛片高清在线播放| 欧美综合天天夜夜久久| 亚洲h动漫在线| 日韩欧美区一区二| 国产成人免费网站| 中文字幕一区二区三| 91官网在线免费观看| 奇米777欧美一区二区| 欧美精品一区二区三区久久久| 国产不卡在线一区| 一区二区在线观看视频在线观看| 9191成人精品久久| 韩国av一区二区三区在线观看| 国产欧美日韩卡一| 欧美亚洲免费在线一区| 蜜臀久久99精品久久久画质超高清 | 在线播放中文一区| 极品少妇xxxx精品少妇| 中文字幕中文乱码欧美一区二区| 91免费看视频| 热久久免费视频| 亚洲欧洲韩国日本视频| 日韩一区二区三区av| 高清不卡一二三区| 三级欧美在线一区| 国产精品欧美久久久久无广告| 欧美日韩在线播放三区| 国产一区视频网站| 婷婷成人综合网| 国产精品久久久久aaaa| 日韩欧美一级片| 99re热这里只有精品视频| 黄色日韩三级电影| 午夜精品久久久久久久久久久| 国产精品久线在线观看| 精品理论电影在线观看| 91久久奴性调教| 国产电影一区二区三区| 日本不卡中文字幕| 一区二区三区 在线观看视频| 国产亚洲精品福利| 欧美大片国产精品| 欧美伦理影视网| 色婷婷国产精品| av不卡在线观看| 国产精品一区二区91| 美女网站一区二区| 午夜精品福利久久久| 一区二区三区加勒比av| 国产精品视频你懂的| 久久精品视频免费观看| 欧美一级高清片在线观看| 在线一区二区三区| 99久久精品费精品国产一区二区| 国产一区二区免费看| 免费成人美女在线观看.|