首页 > 其他分享 >微信公众号开发

微信公众号开发

时间:2022-12-15 14:35:14浏览次数:81  
标签:obj 微信 content 公众 json 开发 服务器 百度


 

现在微信越来越热门,大量的公众号涌现,为我们生活带来不少便利。让我们来了解一下这个公众号是怎么出来的。

 

一.申请域名服务器

以前部署一个网站得准备硬件,申请域名,这对于小型网站来说是难以承受的,随着Amazon云服务,百度云,新浪云这些平台的兴起,我们可以直接在云端部署我们服务器,大大提高网站部署效率。

在​​百度开发者中心​​,选择开放云 -- 应用引擎BAE -- 添加部署。

 

微信公众号开发_LBS

 

 

微信公众号开发_LBS_02

 

创建成功后,会分配一个域名 xxx.duapp.com。

 

 

二.申请公众号

在​​微信开发者平台​​申请个人公众号,免费,订阅号和企业号都要审核收费。个人公众号测试已足够。

服务号、订阅号、企业号的介绍(区别) 

1、订阅号:主要偏于为用户传达资讯(类似报纸杂志),认证前后都是每天只可以群发一条消息;

2、服务号:主要偏于服务交互(类似银行,114,提供服务查询),认证前后都是每个月可群发4条消息;

3、企业号:主要用于公司内部通讯使用,需要先有成员的通讯信息验证才可以关注成功企业号;

 

 

三.对接外部服务器 

微信公众号开发_微信_03

 

下载PHP示例代码,修改 wx_sample.php 的TOKEN,然后通过svn上传至百度云平台。

登录微信公众平台官网后,在公众平台后台管理页面 - 开发者中心页,点击“修改配置”按钮,

 

填写服务器地址(URL):xxx.duapp.com/wx_sample.php  

Token: wx_sample.php 中的TOKEN常量

 

点击提交。

 

四.微信接口说明

微信提供了PHP的开发接口,采用http post发送xml类型数据。

通信流程如下:

             ---xml请求---->                ---转发请求--> 

手机微信                  腾讯微信服务器                  百度云服务器

            <---xml响应----                 <---xml响应---- 

 

腾讯微信服务器相当于请求响应中转中心,更多API参见​​微信开发者文档​

 

五.webAPI

现在百度等很多平台都提供了web api的访问接口,直接通过http get发送请求,就可以得到相应的xml或json数据,非常方便。使得API调用更加轻量。

 

5.1 LBS

Location Based Service 简称。依托百度强大的地图,我们可以开发更多丰富的应用。​​API地址​

/**
* 通过经纬度地址反查地址
*/
function getAddr($longti, $latitude)
{
$url = "http://api.map.baidu.com/geocoder/v2/?ak=${ak}&location=${longti},${lati}&output=json&pois=0";

// 简便get请求
$json = file_get_contents($url);
// json解析
$obj = json_decode($json);
$status = $obj->status;

// 状态
if ($obj->status!= 0) {
return '错误:'.$obj->message;
}

return ''.$obj->result->formatted_address;
}

 

 

5.2 图灵机器人

最智能的聊天机器人,提供了web调用接口,可以很方便开发自己的聊天机器人。​​API地址​

/**
* 图灵智能中文聊天机器人
*/
function autoChat($info)
{
$key = KEY;

// tuling api
$url = "http://www.tuling123.com/openapi/api?key=${key}&info=${info}";
$json = file_get_contents($url);
$obj = json_decode($json);

$content = '';

// 消息类型
switch( $obj->code )
{
case 100000: // 文本类
$content = $obj->text;
break;
case 200000: // 链接类
$content = sprintf("%s\n<a href='%s'>点击查看</a>",$obj->text,$obj->url);
break;
case 302000: // 新闻类
$content .= $obj->text;

$articles = $obj->list;
foreach( $articles as $art )
{
$content .= sprintf( "<a href='%s'>%s</a>\n",$art->detailurl,$art->article);
}

break;
case 308000: // 菜谱类
$content .= $obj->text.'\n';

$recips = $obj->list;
foreach( $recips as $recipe )
{
$content .= sprintf( "<a href='%s'>%s</a>\n",$recipe->detailurl,$recipe->name);
}

break;
}

return $content;
}

 

 

六. 测试

上传代码至百度云,关注公众号并测试。

 

 

微信公众号开发_服务器_04

 

 

 

标签:obj,微信,content,公众,json,开发,服务器,百度
From: https://blog.51cto.com/u_1923895/5939832

相关文章

  • 直播软件app开发,vant 时间选择控件修订为只显示年份
    直播软件app开发,vant时间选择控件修订为只显示年份 import_extendsfrom"@babel/runtime/helpers/esm/extends";import{createNamespace}from'../utils';import......
  • 微信协议简单调研笔记
    前言微信可调研点很多,这里仅仅从协议角度进行调研,会涉及到微信协议交换、消息收发等。所谓“弱水三千,只取一瓢”吧。杂七杂八的,有些长,可直接拉到最后看结论好了。一。微信协......
  • Rabbitmq 配置开发 测试不同环境
    1.vhost介绍每一个RabbitMQ服务器都能创建虚拟消息服务器,我们称之为虚拟主机。每一个vhost本质上是一个mini版的RabbitMQ服务器,拥有自己的交换机、队列、绑定等,拥有自己......
  • 开发者的福音——APP热更新技术
    首先,热更新技术作为一种App软件开发者常用的更新方式,简而言之就是用户在下载安装APP之后,会有APP的即时更新。自从2017年苹果AppStore针对热更新的下架事件发生之后,诸多开发......
  • Spring注解驱动开发
    Spring注解驱动开发容器AnnotationConfigApplicationContext配置类<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/b......
  • 浏览器打开微信小程序
    functionh5(){ $wx=newWx('appId','appSecret'); //\dump($wx->getAccessToken()); $url='https://api.weixin.qq.com/wxa/generatescheme?'.\http_build_qu......
  • 《DFZU2EG_4EV MPSoc之FPGA开发指南》第十七章 按键输入实验
    第十七章按键输入实验上一章,我们介绍了STM32MP157的IO口作为输出的使用。本章,我们向大家介绍IO口作为输入使用的操作方法,我们将利用板载的3个按键来控制LED灯亮和灭以及......
  • 即时通讯音视频开发编码H.264的特点与优势
    即时通讯应用中的实时音视频技术,几乎是IM开发中的最后一道高墙。原因在于:实时音视频技术=音视频处理技术+网络传输技术的横向技术应用集合体,而公共互联网不是为了实时......
  • Web实时预览 & 界面组件Telerik——提高开发者工作效率的完美组合
    TelerikDevCraft包含一个完整的产品栈来构建您下一个Web、移动和桌面应用程序。它使用HTML和每个.NET平台的UI库,加快开发速度。TelerikDevCraft提供最完整的工具箱,用于构......
  • Scrum敏捷开发方法实践
    前言   作者所在的公司在项目开发的过程中采用着当下互联网公司中流行的小步快跑开发策略,特别借鉴了敏捷开发中的迭代递增思想来指导项目的开发。我们经过对相关敏捷开......