微信开发_后端开发微信发送对普通微信和企业微信的区别 - CSDN
  • 通过本课程的学习,学员能够入门微信公众平台开发,能够胜任企业级的订阅号、服务号、企业号的应用开发工作。 通过本课程的学习,学员能够对微信公众平台有一个清晰的、系统性的认识。例如,公众号是什么,它有...
  • 微信已经融入到人们的生活中,很多企业也在做跟微信相关的开发,但是网络上缺少微信开发相关的教程,特别是视频教程。课程的大特点是,实战 = 理论 + 演示 + 敲代码。这是一部中课程,需要有学习的开发者拥有微信...
  • 学习微信公众号的开发,必须先阅读微信开发文档,通过阅读文档,了解有关微信公众开发的步骤及相关限制,了解其工作原理等。 微信开发之入门指引       ...

    说明

    公司需要开发微信服务号,要求做有关技术验证,学习了微信公众号的开发,在这里记录总结下。

    正文

          学习微信公众号的开发,必须先阅读微信开发文档,通过阅读文档,了解有关微信公众开发的步骤及相关限制,了解其工作原理等。

    微信开发之入门指引

          通过阅读入门指引,发现在正式开发之前必须要具备几个条件:1.申请微信公众号 2. 后台服务器 3.开发者配置

    申请测试公众号

    在微信官网申请公众号时,发现目前公众号只有两类帐号:服务号和订阅号,个人只能申请订阅号。原来的企业号变为企业微信,增加了微信小程序。申请地址为:https://mp.weixin.qq.com/
    这里写图片描述

    通过阅读微信文档的公众号接口权限说明,发现未经认证的订阅号接口权限十分有限,无法完成接下来的技术验证。
    这里写图片描述
    这里使用微信提供的在线测试平台,申请一个接口测试号完成有关技术验证。地址:https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login
    这里写图片描述

    使用自己的微信号通过扫码即可申请一个测试号
    这里写图片描述
    微信会自动为测试号分配appID和appsecret,这两个参数是开发的关键。
    测试号申请到这里就结束了,接下来配置服务器。

    配置本地服务器

    阅读微信开发文档时发现,服务器必须外网可以访问且端口为80。要么需要购买云服务器,但这对我们开发调试有很大的不便,这里我使用了内网穿透工具实现外网访问,将本地的tomcat作为后台的应用服务器。
    工具为NATAPP,使用此工具可以自动将它产生的域名映射为本地的ip地址+端口。地址:https://natapp.cn/
    这里写图片描述

    在下方的客户端下载中选择适合自己电脑的版本
    这里写图片描述

    下载成功后需要注册登录申请免费隧道,每个用户可以拥有两条不同协议的隧道,免费隧道域名随机分配且会强制更换,这点在开发时需要注意,需要在微信配置中随时更换URL。
    这里写图片描述

    在申请时注意隧道协议为web,且本地端口为80
    这里写图片描述
    申请好会为隧道分配一个authtoken,这个token时让NATAPP可以运行起来的关键,接下来在运行前必须配置文件,关于配置文件的下载地址:https://natapp.cn/article/config_ini ,更多教程参考:https://natapp.cn/article/natapp_newbie
    配置文件必须与之前解压的natapp.exe在同一级目录,然后将得到的authtoken填入保存。
    这里写图片描述

    运行结果为:
    这里写图片描述
    这里可以看到随机分配的域名指向了本地的80端口。这里的域名就是测试号配置URL需要填写的参数。

    关于本地服务器的搭建到这里就结束了,接下来在之前申请的测试号中进行配置。

    配置测试号

    在配置之前必须搭建一个web项目,因为填写配置时微信服务器会向后台进行验证,后台给出正确的响应才会配置成功。这里我使用了SpringBoot构建web项目,关于SpringBoot如何构建web项目,可以在网上查阅相关资料,对于SpringBoot的学习推荐翟永超的博客程序猿DD。关于如果将SpringBoot项目部署到本地Tomcat中请参考另一篇博文《将Spring Boot项目部署到本地Tomcat中》

    这里写图片描述
    URL即为NATAPP运行时得到的域名,Token随意填写,程序中需要使用。

    校验代码:

    @RequestMapping(value="hello", method = RequestMethod.GET)
        public void hello(HttpServletRequest request,
                            HttpServletResponse response){
            System.out.println("success");
            String signature = request.getParameter("signature");
            String timestamp = request.getParameter("timestamp");
            String nonce = request.getParameter("nonce");
            String echostr = request.getParameter("echostr");
    
            PrintWriter out = null;
            try {
                out = response.getWriter();
                if(CheckUtil.checkSignature(signature,timestamp, nonce)){
                    out.write(echostr);
                }
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                out.close();
            }
    
        }

    在校验类CheckUtil中对微信服务器传来的参数进行校验

    import java.security.MessageDigest;
    import java.util.Arrays;
    
    public class CheckUtil {
        public static final String tooken = "testdemo";
        public static boolean checkSignature(String singnature, String timestamp, String nonce){
            String[] arr = {tooken, timestamp,nonce};
            Arrays.sort(arr);
            StringBuilder sb = new StringBuilder();
            for(String s : arr){
                sb.append(s);
            }
            String temp = getSha1(sb.toString());
            return temp.equals(singnature);
        }
    
        private static String getSha1(String str){
            if(str==null||str.length()==0){
                return null;
            }
    
            char hexDigits[] = {'0','1','2','3','4','5','6','7','8','9',
                    'a','b','c','d','e','f'};
    
            try {
                MessageDigest mdTemp = MessageDigest.getInstance("SHA1");
    
                mdTemp.update(str.getBytes("UTF-8"));
    
                byte[] md = mdTemp.digest();
                int j = md.length;
                char buf[] = new char[j*2];
                int k = 0;
    
                for (int i = 0; i < j; i++) {
                    byte byte0 = md[i];
                    buf[k++] = hexDigits[byte0 >>> 4 & 0xf];
                    buf[k++] = hexDigits[byte0 & 0xf];
                }
    
                return new String(buf);
    
            } catch (Exception e) {
                return null;
    
            }
        }
    }

    能正常响应时,就会出现配置成功,接下来就可以进行验证开发了。

    展开全文
  • 微信小程序开发实战

    2019-04-01 14:05:00
    本套课程使用了元认知教学法,直接实战式教学,摆脱学院派的理论式讲解,对于0基础的学员可以入门编写微信小程序,过程中指导如何学习使用文档查阅接口等,通过两个完整的实战小项目的实例,入手小程序开发
  • 微信公众号开发(一)服务器及接口的配置 关于微信公众号中的订阅号和服务的区别这里不多加讨论,网上有很多资源可以搜到,这里直接进入正题,如果是个人开发者,这里建议使用测试号进行开发学习,测试号的权限要比...

    微信公众号开发(一)服务器及接口的配置

    关于微信公众号中的订阅号和服务的区别这里不多加讨论,网上有很多资源可以搜到,这里直接进入正题,如果是个人开发者,这里建议使用测试号进行开发学习,测试号的权限要比个人订阅号要多的多,而本篇博客也是基于测试号进行开发的。

     

    在开始微信号开发之前需要准备好两样东西,1、需要一个测试号,2、需要一个拥有域名的服务器,下面将分别介绍怎样获取这两样东西。

    1、测试号

    点击此链接测试号登录可直接用微信扫一扫注册一个测试号,相应的界面如下所示

     

    进入测试号界面之后可以获得一些开发所需要的东西,以及关注者列表和开发权限等,如下所示

     

    2、服务器

    微信号开发需要一个第三方服务器来和微信服务器沟通,这里我使用的是一个百度云的BAE虚拟主机,理由有以下几点:

    1、性价比高,该主机一天只需要2毛钱,而且不限制充值金额,如果你只是用来学习微信公众号开发,而且预计一个月学会的话,那么你只需要充值6元钱就可以,相比其他最低充值一年的平台相比,要划算的多。

    2、可以免去购买域名的费用,该BAE可免费设置一个二级域名,可用于微信公众号开发,并且数据库的使用也是免费的。

    3、该BAE的代码可以使用git或svn管理,我们在本地写好代码之后,直接push上去就可以了,相当方便,而且可以设置快捷发布,提交代码当即发布。

    缺点就是它的日志系统不够完善,不过这个缺点很容易解决,我们可以自己打印信息到文件里,然后读取出来,下面将会介绍到。

     

    百度云网址是:https://login.bce.baidu.com/?account=,登录之后,点击BAE后如图

     

    好了,这样我们就准备好了微信开发的两个必备的东西。接下来就要配置接口了。

     

    3、配置接口

    上面进入测试号界面的时候我们可以看到有一个接口配置信息的模块,如下所示

     

     

    这里的URL就是填写以上BAE中的域名就好了,当然了要注意加上http://前缀,以后用户发送的消息都会经过微信服务器转发到该接口。Token可以随便填写一些东西,这里填写了weixin。关于Token的用途下面会讲到。

    好了,现在先别急着点击提交,因为我们还没有在URL指向的服务器里编写任何的代码,还不能正确响应微信服务器的请求。

     

    在编写任何的代码之前,我先说一下本博客的一些习惯,为了便于理解,我会先将文件的结构和代码先贴出来,然后才解释具体代码的含义,这样如果熟悉的人就可以直接跳过该部分了。

     

    文件结构如下

     

    index.php用于处理消息。

    output_log.php和output_query.php分别用来输出post过来的数据和请求的查询字符串,Utils.php主要用来将数据输出到文件中,看了下面的代码你就明白了,其实相当简单,这三个东西是我用来调试用的,相比起微信公众号提供的在线调试接口而言(需要设置一堆的信息),我觉得这样更加简单。

     

    Utils.php,提供了两个函数,traceHttp()将请求的时间、远程主机地址和查询字符串输出到query.xml文件中。logger()将类型、时间和post数据输出到log.xml中。

    <?php
    class Utils
    {
        public static function traceHttp()
        {
            $content = date('Y-m-d H:i:s')."\n\rremote_ip:".$_SERVER["REMOTE_ADDR"].
                "\n\r".$_SERVER["QUERY_STRING"]."\n\r\n\r";
            $max_size = 1000;
            $log_filename = "./query.xml";
            if (file_exists($log_filename) and (abs(filesize($log_filename))) > $max_size){
                unlink($log_filename);
            }else {
    
            }
            file_put_contents($log_filename, $content, FILE_APPEND);
        }
    
        public static function logger($log_content, $type = '用户')
        {
            $max_size = 3000;
            $log_filename = "./log.xml";
            if (file_exists($log_filename) and (abs(filesize($log_filename)) >
                    $max_size)) {
                unlink($log_filename);
            }
            file_put_contents($log_filename, "$type  ".date('Y-m-d H:i:s')."\n\r".$log_content."\n\r",
                FILE_APPEND);
        }
    }

     

    output_query.php,输出query.xml的内容

    <?php
    @header('Content-type: text/plain;charset=UTF-8');
    $filepath = './query.xml';
    readfile($filepath);


    output_log.php,输出log.xml的内容。

    <?php
    @header('Content-type: text/plain;charset=UTF-8');
    $filepath = './log.xml';
    readfile($filepath);


    是不是非常简单,然后我们开始写处理消息index.php

    <?php
    //设置时区
    date_default_timezone_set("Asia/Shanghai");
    //定义TOKEN常量,这里的"weixin"就是在公众号里配置的TOKEN
    define("TOKEN", "weixin");
    
    require_once("Utils.php");
    //打印请求的URL查询字符串到query.xml
    Utils::traceHttp();
    
    $wechatObj = new wechatCallBackapiTest();
    /**
     * 如果有"echostr"字段,说明是一个URL验证请求,
     * 否则是微信用户发过来的信息
     */
    if (isset($_GET["echostr"])){
        $wechatObj->valid();
    }else {
        $wechatObj->responseMsg();
    }
    
    class wechatCallBackapiTest
    {
        /**
         * 用于微信公众号里填写的URL的验证,
         * 如果合格则直接将"echostr"字段原样返回
         */
        public function valid()
        {
            $echoStr = $_GET["echostr"];
            if ($this->checkSignature()){
                echo $echoStr;
                exit;
            }
        }
    
        /**
         * 用于验证是否是微信服务器发来的消息
         * @return bool
         */
        private function checkSignature()
        {
            $signature = $_GET["signature"];
            $timestamp = $_GET["timestamp"];
            $nonce = $_GET["nonce"];
    
            $token = TOKEN;
            $tmpArr = array($token, $timestamp, $nonce);
            sort($tmpArr);
            $tmpStr = implode($tmpArr);
            $tmpStr = sha1($tmpStr);
    
            if ($tmpStr == $signature){
                return true;
            }else {
                return false;
            }
        }
    
        /**
         * 响应用户发来的消息
         */
        public function responseMsg()
        {
            //获取post过来的数据,它一个XML格式的数据
            $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
            //将数据打印到log.xml
            Utils::logger($postStr);
            if (!empty($postStr)){
                //将XML数据解析为一个对象
                $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
                $RX_TYPE = trim($postObj->MsgType);
                //消息类型分离
                switch($RX_TYPE){
                    case "event":
                        $result = $this->receiveEvent($postObj);
                        break;
                    default:
                        $result = "unknow msg type:".$RX_TYPE;
                        break;
                }
                //打印输出的数据到log.xml
                Utils::logger($result, '公众号');
                echo $result;
            }else{
                echo "";
                exit;
            }
        }
    
        /**
         * 接收事件消息
         */
        private function receiveEvent($object)
        {
            switch ($object->Event){
                //关注公众号事件
                case "subscribe":
                    $content = "欢迎关注微微一笑很倾城";
                    break;
                default:
                    $content = "";
                    break;
            }
            $result = $this->transmitText($object, $content);
            return $result;
        }
    
        /**
         * 回复文本消息
         */
        private function transmitText($object, $content)
        {
            $xmlTpl = "<xml>
        <ToUserName><![CDATA[%s]]></ToUserName>
        <FromUserName><![CDATA[%s]]></FromUserName>
        <CreateTime><![CDATA[%s]]></CreateTime>
        <MsgType><![CDATA[text]]></MsgType>
        <Content><![CDATA[%s]]></Content>
    </xml>";
            $result = sprintf($xmlTpl, $object->FromUserName, $object->ToUserName, time(), $content);
            return $result;
        }
    }


    这几个文件写好之后,直接通过git push到BAE上,如果设置了快捷发布,过1、2秒钟就会自动发布了,状态里面会显示绿色的"正常",如果没有设置快捷发布,上传代码后需要手动点击右边的快捷发布按钮。

     

    这时我们就可以点击测试号界面里面的那个提交按钮了。

     

     

    如果配置正确,则会提示配置成功。

     

    4、调试

    在浏览器地址栏上输入,xxx/output_query.php,xxx是你的域名。则会出现你点击提交后发送过来的请求,类似如下

     

     

    可以看到该查询字符串有4个字段

    • signature:微信加密签名
    • echostr:随机字符串
    • timestamp:时间戳
    • nonce:随机数

    只有在验证URL的时候查询字符串中才会有“echostr”这个字段,验证的方法是

    1. 将token、timestamp、nonce三个参数进行字典序排序
    2. 将三个参数字符串拼接成一个字符串进行sha1加密
    3. 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信

     

    验证通过之后,我们可以用微信扫一扫,扫描测试号里面的公众号二维码,关注该公众号,关注之后,公众号列表会显示出关注者的列表。

     

    此时微信应该会回复一条文本消息,也就是以上在index.php中设置的“欢迎关注XXX”。

     

    这时我们重新刷新一下xxx/output_query.php,发现没有“echostr”这个字段了,因为这个是用户发来的消息,而不是验证URL的消息。多出来的openid字段是用户的微信号,如果采用的是加密模式,还会有encrypt_type和msg_signature等字段。测试号只有明文模式。

    接着我们重新打开一个标签,访问XXX/log.xml,查看发送的post数据,下面是一个关注公众号的事件,和我们返回给微信的XML数据。

     

    现在不比纠结这些数据格式的问题,以后我们会提到,这样我们的微信公众号开发就准备好了,记得把这两个日志URL保存为浏览器的标签方便下次访问,以后调试只要F5一下就可以了,是不是比微信提供的在线调试容易多了。

    注意:必须在5秒内响应微信的服务器,否则会导致重传或者报错

     

    下一章我们将会尝试微信的基本消息接口,那时候就会理解这些数据结构了。

    相关博客

    微信公众号开发(一)服务器及接口的配置

    微信公众号开发(二)基础接口

    微信公众号开发(三)获取access_token

    微信公众号开发(四)自定义菜单

    微信公众号开发(五)个性化菜单

    微信公众号开发(六)素材管理

    微信公众号开发(七)发送客服消息

    微信公众号开发(八)用户管理

    微信公众号开发(九)群发消息接口

    微信公众号开发(十)模板消息

    微信公众号开发(十一)生成带参数二维码

    微信公众号开发(十二)OAuth2.0网页授权

    展开全文
  • 微信小程序作为现在比较火的编程开发应用场景之一,深受市场的青睐,这让不少开发者眼馋不已,对于有比较成熟的开发经验的工程师来说,微信小程序开发制作的知识对他们来说不是难事,多看几下就能明白。但是对于初学...

    微信小程序开发需要学什么-【已解决】

    微信小程序作为现在比较火的编程开发应用场景之一,深受市场的青睐,这让不少开发者眼馋不已,对于有比较成熟的开发经验的工程师来说,微信小程序开发制作的知识对他们来说不是难事,多看几下就能明白。但是对于初学者来说,就完全摸不着头脑了,不知道微信小程序开发制作需要学习那些知识?学到什么地步才能够制作小程序。下面由小编给大家解读一下小程序开发需要学习那些知识?

    小程序开发与网页web开发有什么区别?

    小程序和网页web开发的区别主要在前端,小程序主要运行平台是在微信上,通过微信内置的解释器将微信服务器的前端代码和用户数据库后台传输过来的数据进行拼接,并将其解释为我们平常所看见的页面。web开发依然主要同样的原理,主要的区别是web网页运行在浏览器上,游览器进行代码的解释。

    1.HTML语言

    HTML就是超文本标记语言的简写,HTML是网页开发前端三剑客之一,主要负责网页的骨架,就如同动物的骨架一样,HTML语言就是支撑网页布局的骨架。

    2.CSS

    CSS,前端三剑客之二,是层叠样式表的简写。主要负责网页样式,网页内容如何分布,板块背景,颜色等外观问题可以有CSS控制。

    3.JavaScript

    简称js,前端三剑客之三,是一种动态的脚本语言。在以前js仅仅是用于网页交互的脚本语言,随着Googlev8引擎、,angular、react等前端框架使得前后端分离的趋势愈加明显以及node.js等技术的开发使得js在服务器端也迸发出非凡的活力,成为当前非常活跃的语言之一。

    微信小程序开发需要学什么-【已解决】

    4.服务器语言

    如果不是专业的后端开发者,可能后端有一定的难度其学习曲线较陡。但是,仍然建议开发者学习一下后端语言,至少需要了解大致的原因框架,能够看懂其代码逻辑,这样不仅可以很好的实现前后端的配合,也能够在小程序出现bug的时候扯皮用。服务器的语言有很多比较常用的是PHP、Java、Python、ASP等技术,建议开发者根据公司内部技术的使用情况挑选进行学习。

    5.数据库语言

    如果公司数据量不大,架构不复杂的话数据库语言相对来说是比较简单的,一般学会一些常用的命令以及常出现的问题就能够应付使用。常用的数据库有免费的MySQL、msSQL、MongoDB、Oracle等数据库。

    以上就是微信小程序开发所需要用到的技术知识,如果开发者只想单纯的开发前端页面或者是后端逻辑,可以从以上的技术中选择学习。

    如果想要开发小程序的前端页面,那么,以上的前端知识是一个基础,不代表学习了以上技术就可以直接开发小程序了。由于小程序是运行在微信平台上面的,所以还需要学习一下微信开发语言。与前端语言相对应的是HTML-->WXML;CSS-->WXSS;只要有前端基础的知识学习微信语言是比较简单的,因为他们相对于原版只是换了件马甲。另外开发者还需要学习一下面对对象编程的思想以及MVVM框架。

    文章来源:https://www.it0755.com/f/364.html

    以上就是微信小程序开发需要学什么全部内容。

    转载于:https://blog.51cto.com/14048984/2397493

    展开全文
  • 微信开放平台“开发资源”中网站... 据开发者资质认证处介绍:开发者资质认证通过后,微信开放平台帐号下的应用,将获得微信登录、智能接口、第三方平台开发等高级能力。 所以在微信第三方授权登陆获取用户信息...

    微信开放平台开发系列文章:

    微信开放平台开发第三方授权登陆(一):开发前期准备

    微信开放平台开发第三方授权登陆(二):PC网页端

    微信开放平台开发第三方授权登陆(三):Android客户端

    微信开放平台开发第三方授权登陆(四):微信公众号

    微信开放平台开发第三方授权登陆(五):微信小程序

     

    目录

    一、前期准备流程

    二、具体实现步骤

    1、注册邮箱账号

    2、注册微信开放平台账号、完善开发者资料

    3、申请开发者资质认证

    1)申请开发者资质认证

    2)选定类型

    3)填写“认证资料”

    4)填写“管理员信息”

    5)上传“企业基本信息”材料:

    6)进入填写发票及支付费用

    4、创建应用

    1)创建网站应用

    2)创建移动应用

    5、申请微信登陆功能

    三、注意事项

    四.主要提供材料

    五、特殊情况处理方案


    据微信开放平台“开发资源”中网站应用微信登陆功能开发指南描述:进行授权登陆接入前,需要先注册一个开发者账号,并拥有一个已经审核通过的网站应用,并获取AppID和APPSecret,然后申请微信登陆并通过审核后,可以接入流程进行开发。

    据开发者资质认证处介绍:开发者资质认证通过后,微信开放平台帐号下的应用,将获得微信登录、智能接口、第三方平台开发等高级能力。

    所以在微信第三方授权登陆获取用户信息开发前,需要做一些前期准备。目的是获取到AppID以及AppSecret,并成功申请微信登陆功能

    一、前期准备流程

    1、注册邮箱账号。

    2、根据邮箱账号注册微信开放平台账号,完善开发者资料。

    3、申请开发者资质认证、填写相关资料、填写发票、支付认证金额。提交并等待认证结果

    4、认证成功后,创建网站应用,填写基本信息、下载网站信息登记表填写并上传扫描件、填写授权回调域等。提交审核等待结果。

    5、认证成功后,创建移动应用,至少选择安卓、IOS、WP8其中一种平台

    6、创建应用成功后,申请微信登陆,等待审核结果,待审核通过后,可进行微信登陆的开发。

    注:创建应用和开发者资质认证可同时进行

    准备工作大致流程图

    二、具体实现步骤

    1、注册邮箱账号

    支持网易邮箱、QQ邮箱等常规邮箱。此邮箱将成为日后登陆开放平台的账号

     

    2、注册微信开放平台账号、完善开发者资料

    1)填写邮箱进行注册、开放平台将发送邮件到填写邮箱中,点击邮件上的地址进行开发者资料的完善。(开放平台注册地址:https://open.weixin.qq.com/cgi-bin/readtemplate?t=regist/regist_tmpl&lang=zh_CN

    2)开发者资料完善:主要填写注册人信息。如真实姓名、真实手机号码、联系地址、身份证号码。使用注册人的微信扫码绑定为管理员。提交信息。(邮件信息包含地址,点击后进行资料完善)

    3)完善资料后,根据邮箱及密码进行登录

     

    3、申请开发者资质认证

    1)申请开发者资质认证

    登录后,点击右上角邮箱号进入“基本资料”,点击“开发者资质认证”,显示未认证,点击“现在申请”。

    认证成功后,这里将变成认证成功:

    2)选定类型

    同意“微信开放平台开发者资质认证服务协议”,点击下一步。选择类型为“企业”,点击确定。

    注:类型包含了企业、网店商家、媒体(事业单位媒体、其他媒体)、政府及事业单位、其他组织(社会团体、民办非企业、其他组织)

    3)填写“认证资料”

    包括企业全称、组织机构代码、工商执照注册号、法定代表人/企业负责人姓名、经营范围(一般经营范围)、企业规模(选填)、企业开户名称、企业开户银行、企业银行账号。

    4)填写“管理员信息”

    包括账号管理员姓名、账号管理员部门与职位、账号管理员手机号、管理员座机、管理员电子邮件、身份证号。最后需要使用管理员的微信进行扫码。

    5)上传“企业基本信息”材料:

    需要准备的材料及要求如下

    I.组织机构代码证

    组织机构代码证必须在有效期范围内。必须是原件照片、扫描件或复印件加盖企业公章后的扫描件。图片不超2M

    II.企业工商营业执照

    中国大陆工商局或市场监督管理局颁发的工商营业执照,且必须在有效期内。要求原件照片、扫描件或者复印件加盖企业公章后的扫描件

    III.申请公函下载打印

    如果是一般企业需要先下载“一般企业申请认证公函”,个体下载“个体工商户申请认证公函”(见附件中“一般企业申请认证公函.doc”及“个体工商户申请认证公函.doc”或于网站中下载)。对下载的申请公函进行打印。

    IV.填写申请公函信息

    填写内容主要有(根据不同企业类型进行填写,只需要填写其中一个就可以):

    A.一般企业申请认证公函:

    a.企业信息:申请企业全称、官网(可缺省)、办公电话、办公地址、企业规模、企业简介(要说明企业经营范围,重要历程,主要产品和服务及覆盖区域等事项)、

    b.法定代表信息:法定代表人姓名、身份证号码、应用的Appid(这时还没有Appid,此项不填)、登陆Email、

    c.申请相关信息:申请认证理由、提供的服务、

    d.账号运营者信息 : 账号运营者姓名、部门及职位、身份证号、手机号、办公联系电话、电子邮箱

    e.填写认证申请公函:最后运营者签字并加盖企业章

    B.个体工商户申请认证公函:

    a.个体工商户信息:个体工商户全称、官网(可缺省)、办公电话、办公地址、规模、简介(主要说明经营范围,重要历程,主要产品和服务及覆盖区域等事项)

    b.经营者信息:经营者姓名、身份证号码、应用的Appid(这时还没有Appid,此项不填)、登陆Email

    c.申请相关信息:申请认证理由、提供的服务、

    d.账号运营者信息:账号运营者姓名、部门及职位、身份证号、手机号、办公联系电话、电子邮箱

    e.填写认证申请公函:最后运营者签字并加盖企业章

    V.对填写好的申请公函进行上传图片:

    上传加盖企业公章的原件照片或扫描件

    点击下一步。

    6)进入填写发票及支付费用

    等待认证结果。

    注:开发者认证费用为300.有效期一年,可在最后三个月申请年审续期

     

    4、创建应用

    1)创建网站应用

    进入开放平台首页(https://open.weixin.qq.com),点击上方“管理中心”,点击“网站应用”,点击“创建网站应用

    I.填写基本信息

    包括网站应用名称、英文名(选填)、应用简介、英文简介(选填)、应用官网。

    II.上传网站信息登记表扫描件及网站应用图片

           A. 网站信息登记表

    先下载《微信开放平台网站信息登记表》(见附件”微信开放平台网站信息登记表.doc”).然后进行填写打印。最后盖章,上传扫描件。图片不超过2M

    网站开放平台信息登记表填写内容包括:

    a. 网站信息:

    1)网站网址:要创建第三方准备使用的网址。

    2)网站备案号/许可证号

    3)主板单位名称/个人姓名

    4)单位/个人官网网址

    5)单位/个人所在地: 

    6)单位/个人简介:

    b. 开发者账户信息

    1)邮箱:注册微信开放平台的注册邮箱

    2)网站应用名称:与开放平台填写的网站应用名称一致

    c. 负责人信息

    1)  姓名

    2)  职务

    3)  联系人手机

    4)  责任人个人邮箱

    然后填写责任人签名。职务。以及填写日期,最后盖上申请公司的章

           B. 网站应用图片

    上传网站应用水印招聘。28*28像素以及108*108像素的png图片,大小不超过300k。

    上传完成后,点击下一步

    III.填写授权回调域

    填写合法的域名。第三方授权登陆后,只能回调到该域名下的页面。(即,开发的网站上线后的域名)

    审核时间大概7个工作日内(审核资料完整正确的话,大概3天左右能审核通过)

    审核不通过的话,会显示驳回,并且告知哪个环节审核不通过,可以重新修改再审,

    审核成功页面:

    2)创建移动应用

    进入开放平台首页(https://open.weixin.qq.com),点击上方“管理中心”,点击“移动应用”,点击“创建移动应用

    I.填写基本信息

    包括移动应用名称、英文名(选填)、应用简介、英文简介(选填)、应用官网。

    II.上传移动应用图片

        上传移动应用水印图片28*28像素的png图片,以及移动应用高清图片108*108像素的png图片。大小均不超过300k

    III.填写平台信息

         选择平台,一共有三种平台:ISO应用、Android应用和WP8应用

         至少选择一个平台,可以多选。

    A. IOS应用

           细分为iPhone和iPad,可多选

           这两种设备类型均需要提供“Bundle ID”(ISO应用唯一标识)、“测试版本Bundle ID”(ISO应用测试版本的BundleID)、“AppStore下载地址”(选填)

    B.Android应用

            需要提供 “应用签名” 和 “应用包名”,以及“应用下载地址(选填)”

         应用签名可以使用签名生成工具直接从安装当前应用的手机获取,应用签名由开发者签名该应用的keystore文件决定

         应用包名在manifest文件里声明,要和正式发布应用的包名一致。

    C.WP8 应用

            WP8应用只需要填写“应用下载地址(选填)”就可以了。

    注意:应用若还没有提交到应用市场,下载地址等可以暂时为空,提交到应用市场后,可修改下载地址。

     

    注:

    1.审核将在三个工作日内完成,目前只审核开发者的资质和真实性,不涉及应用内容本部,不需要开发者提交ipa文件或将含微信SDK的版本在AppStore上线后再审核,但要求开发者提供该应用已经上线的版本的下载地址

    2.同一应用在不同平台的版本应共用一个AppID

    审核成功后的页面(Android)

    5、申请微信登陆功能

    成功创建应用并审核通过后,点击应用右方“查看”可以查看应用详情。

    在“接口信息”一栏中,查看当前应用拥有的接口权限。

    选中“微信登陆”接口,点击右方申请开通,开通微信登陆功能。

     

    三、注意事项

    1、开发者资质认证结果只有成功或失败两种情况。审核费用与最终是否审核通过无关。每申请一次,就需要支付一次审核服务费用

    2、我方在完成在线申请及资料提交流程,并完成审核服务费用支付后,腾讯会在15个工作日内展开认证工作,我方应积极配合腾讯及第三方审核公司的认证需求,并有权随时了解、查询认证进度

    3.认证失败原因可能情况:

    1)由于我方原因,经腾讯三次系统通知用户调整申请内容,我方仍未能满足开发者资质认证要求的;

    2)由于我方原因:自用户付费之日起三十日,我方仍未能满足开发者资质认证要求之一;

    3)因其他原因而不能认证成功的情形

    4、网站应用和移动应用一个开发者最多只能登记10个。

     

    四.主要提供材料

    主要提供材料,详情见“具体实现步骤

    1. 微信开放平台登陆邮箱
    2. 开发者个人详细信息
    3. 企业信息及法人(负责人)信息(包括官网等)
    4. 企业账号管理员信息(包括微信扫码)
    5. 企业章
    6. 应用官网及备案号/许可证。 应用图标。

     

    五、特殊情况处理方案

    1.若我方向腾讯或者第三方审核机构提供的资料和信息如有变更的,应当及时采取以下措施:

    1)如处于认证过程中的资料和信息发生变更,用户应立即通知腾讯或负责认证订单的第三方审核机构更新有关资料及信息;

    2)如认证成功后资料和信息发生变更,用户应及时申请补充订单变更有关资料及信息;

    3)如认证成功后腾讯发现资料和信息存在错误,用户应及时申请补充订单更正有关资料及信息。

    展开全文
  • 由于该公众号主要的用途是用于公司售后服务,经沟通确定相关需求. 第一: 了解相关的UI框架,最终选定了Jquery-WeUI框架. 第二: 制作简单案例,在移动端进行测试,要达到移动端的自适应. 目前完成三个界面如下: ...
  • 这次的项目主要是关于微信公众号的一个开发,本人这次分配的模块是后台微信公众号的支付和退款,第一次接触微信公众的项目刚开始一脸懵逼,开发过程中遇到各种坑,所以想自己写一篇详细的关于微信公众号的开发,希望...
  • 过年前后做了个微信公众号项目,已经过去一段时间了,抽空回忆总结下基本流程吧,不然很快估计自己就忘了。。 微信公众平台官网:https://mp.weixin.qq.com 文章目录一、注册公众号二、了解公众号管理页面三、必备...
  • 微信开发流程

    2017-12-12 18:53:34
    一、绑定服务器成为开发者微信公众号配置登录微信公众平台官网后,在公众平台官网的开发-基本设置页面,勾选协议成为开发者,点击“修改配置”按钮,填写服务器地址(URL)、Token和EncodingAESKey,其中URL是开发者...
  • 1.创建菜单栏 //菜单栏 public static void createMenu(){ HashMap<String,Object> hashMap = new LinkedHashMap<>(); List<HashMap> list = new ArrayList<>... Ha...
  • 微信公众号主要有以下几个步骤 微信公众号的通讯机制 微信公众号简介 1.注册微信公众号 2.注册测试公众号 3.搭建微信本地调试环境 1)下载客户端natapp: 2)安装natapp: 4.微信公众号接入(校验签名) 第1步中...
  • 微信开发之入门教程

    2016-01-12 10:55:26
    微信开发也是有了一定的认识。在此,小宝鸽再次无私地分享给大家啦。其实微信开发跟web开发没有多大的区别,只是经过了微信,然后再由浏览器打开。因为经过微信,因此你的web会附加一些微信平台所提供的一些功能,...
  • 同时它也取代了我们传统的一些交流方式,为我们节省了很多的信息费用,因此很多人在开发微信的时候,都将微信当成了是一个商业的平台,有更多的商家开始驻足于微信的开发,那么,微信开发需要掌握哪些系统和技术?...
  • 微信开发本地调试工具(模拟微信客户端)开源免费微信管家系统(java)源码下载微信部署需要依靠80端口,如何快速有效的调试本地微信开发程序,捷微团队(jeewx-java微信开源系统),采用微信开发调试工具,供本地...
  • 经常有同学过来询问“小白想学习微信开发,需要会哪些技术?”,今天我就系统的回答这个问题。想弄清楚这个问题,你必须知道一些微信开发的相关知识。微信公众号主要有:订阅号、服务号、企业号(已经升级到企业微信...
  • 微信群发多图文消息开发是子恒老师《子恒说微信开发》视频教程的第16部。详细讲解了用php开发微信群发图文消息。内容包含图文消息前端页面,一个页面插入多个百度UEditor,群发多图文,查询和删除图文消息等等。欢迎...
  • 发送消息,是指用户公众号向用户发送相应形式的消息。根据微信开发文档,由以下四种形式:被动回复,群发接口,客服消息接口以及模板消息接口。...这一部分较为简单,正式进行微信开发的第一步就是,在公众号中基本
  • 企业微信开发是什么? 简单的说,就是我们自己项目的接口,和企业微信的接口之间的互相调用。 具体而言,就是可以把在企业微信后台做的事情,搬到自己的项目中完成,举个例子:我们可以在企业微信后台对成员进行增...
1 2 3 4 5 ... 20
收藏数 338,626
精华内容 135,450
关键字:

微信开发