微信公众号自定义菜单订阅号可以弄自定义菜单么

微信今天又调整了下公众平台的认证体系,开放了订阅号垂涎已久的 “” 接口。根据微信公众平台的,新的认证体系审核会更严格,但同时也会更加安全,经过认证之后,用户将在微信中看到认证公众号特有的标识。
不过在账号选择上依旧没有完全放开,暂时支持所有的服务号,以及政府、传统媒体、明星等非企业类型的订阅号申请全新的微信认证,经过微信认证之后,订阅号将获得 “自定义菜单” 接口权限。
而此前已经获得 “自定义菜单” 接口的服务号,经过认证之后,将获得中所有接口权限,但比较遗憾的是,依旧不包括大家普遍期待的 “支付接口”。不过据不少创业者透露,申请微信支付接口也并不是不可能,但现在只针对完成 300 元认证的服务号,知名商家,交 5 万保证金的开放,门槛比较高。根据微信公众平台的介绍,服务号可获得的高级接口主要包括下面九大接口:
语音识别:通过语音识别接口,用户发送的语音,将会同时给出语音识别出的文本内容。
客服接口:通过客服接口,公众号可以在用户发送过消息的 24 小时内,向用户回复消息。
OAuth2.0 网页授权:通过网页授权接口,公众号可以请求用户授权。
生成带参数二维码:通过该接口,公众号可以获得一系列携带不同参数的二维码,在用户扫描关注公众号后,公众号可以根据参数分析各二维码的效果。
获取用户地理位置:通过该接口,公众号能够获得用户进入公众号会话时的地理位置(需要用户同意)。
获取用户基本信息:通过该接口,公众号可以根据加密后的用户 OpenID,获取用户的基础信息,包括头像、昵称、性别、地区。
获取关注者列表:通过该接口,公众号可以获取所有关注者的 OpenID。
用户分组接口:通过分组接口,公众号可以在后台为用户移动分组,或创建、修改分组。
上传下载多媒体文件:通过该接口,公众号可以在需要时在微信服务器上传下载多媒体文件。
还有内什么,认证需要 300 元 / 次原创文章,作者:鏡宇cupl,如若转载,请注明出处:/p/209383.html“看完这篇还不够?如果你也在创业,并且希望自己的项目被报道,请告诉我们!”
分享到鏡宇cupl编辑winner winner, chicken dinner创业者们,如果你或你的朋友想被36氪报道,请狠戳这里&&&&
赞助商链接
Mozilla发布Firefox OS 2.5开发者预览版Firefox OS 2.5开放了安卓设备测试Firefox OS系统的操作,系统将作为 Android Launcher安装在安卓设备上。据悉,该版本的新功能包括:扩展支持,带追踪保护的隐私浏览和钉选网站至主屏幕。魅族在天猫旗舰店开启众筹继小米在今天凌晨开启众筹后,魅族于今天凌晨两点也在天猫旗舰店开启了魅蓝以及魅族头戴耳的众酬活动。从众筹的情况显示,目前该项目的支持人数为66人,累计资金不足十万,仅完成了9%的进度。该项众筹活动将于12日凌晨结束。校园 O2O
59store 推出 59金融,进入校园金融市场以校园零食起家的 O2O 平台 59store 也在双十一期间做出新动作。59store 近日联手玖富集团推出 59白借借信用日,结合其原有零食业务进行推广。白借借是 59store 旗下 59金融针对校园分期市场推出的分期产品。该公司在 8 月份刚刚获得一轮价值 2 亿元 pre-B 轮融资,玖富也是跟投方之一,其金融平台 59金融也随后上线。Uber将在韩国重启UberBlack豪华轿车打车服务Uber今天宣布,将在年内在首尔重新开启之前因官方的政策限制而停止的豪华轿车打车服务UberBLACK。自从今年年初韩国官方禁止了UberX服务后,Uber又接连推出了UberTaxi和UberBlack。但UberBlack在韩国的适用范围仅限制在残疾人和外国人中。而从本周开始UberBlack将面向公众服务。Uber称,在韩国的该项豪华服务将仅聘用具有商用车资质的司机。高通正式推出骁龙820处理器今天,高通官方正式发布了新款移动旗舰处理器骁龙820。据官方数据显示,骁龙820的性能和续航时间将为前款骁龙810的两倍。据悉,骁龙820为高通首款定制设计的64位四核CPU。目前已经有超过60款智能手机、平板以及虚拟现实设备已经确定采用骁龙820。该款处理器将于明年上半年正式出货。Google 将在2016年4月关闭Chrome 对 Windows XP 和 Vista 的支持关闭微软操作系统支持的同时,Chrome 还将停止对 OS X 10.6 雪豹,10.7 狮子以及 10.8 美洲狮的系统支持。Google 称,之所以将关闭 Chrome 对以上系统的支持是希望用户可以更换那些已经不被微软和苹果主动支持的操作系统。双11京东10小时下单量千万据新华网消息,自11月11日零点至上午十点,京东商城10小时订单量超过1000万,同比增长180%,其中手机端的订单量增长迅速,占比70%。亚马逊 Prime Now 推出外送服务据《洛杉矶时报》消息,亚马逊本周二宣布将在洛杉矶部分区域推出送餐服务,合作的商家有Umami Burger,Baby Blues BBQ和Hurry Curry of Tokyo等。这些公司的产品都可以通过 Prime Now 应用预定,同时亚马逊还将向用户提供生鲜速递服务。罗技CEO表示:我们不只做鼠标和键盘在年初宣布成立附线品牌Logi后,罗技开始了后PC时代的业务拓展。罗技公司CEO Bracken Darrell在近日的都柏林网络峰会上表示:“大多数人都不真正了解我们,认为我们只会做鼠标和键盘。事实上我们是一家科技公司,我们有能力做个人电脑、智能手机和平板“。 据悉,除了附线上推出Logi Circle摄像头以外,罗技目前正在进行“6或者7”项新产品的研发。至于这些产品具体上市的时间,Darrell并未透露细节。阿里双十一交易额半天超去年截止到 11:49 分,今年阿里双十一交易破571亿元,超过去年全天。C2C 交易平台好车无忧获 5000 万美元融资据腾讯科技消息,个人二手车交易平台好车无忧宣布获得5000万美元 B 轮融资,领投方为源码资本、凤凰祥瑞,跟投方为玖富金融、经纬中国等。本轮之前好车无忧还曾获两轮融资。网传三星 Galaxy S7可能将提前上市据 SamMobile 透露,三星目前已经开始了Galaxy S7的固件研发。另外,有消息称实际上 Galaxy S7 的固件开发比 Galaxy S6 还早了一个月。目前了解到的 Galaxy S7 配置可能包括:高通骁龙 820 和三星Exynos 芯片组。之前有消息称,Galaxy S7 可能于2016 年的 2 月发布,但如果据现在爆出的研发进度来看,发布的时间可能会早于预期。Instagram第三方软件或存在非法登录用户账号的行为近日软件开发者David L-R发推表示,他发现现下流行的Instagram第三方软件InstaAgent正在通过用户通过登入第三方软件获取其 用户名及密码,并且运用这些信息登入用户账号在未经授权的情况下发布未知服务器推送的广告。在此之前,苹果已将该软件在iTunes 软件商店下架。截至目前,该软件的下载量已经超过了50万次。索尼宣布将在2016年3月停止生产 Betamax 录像带11月11日消息,索尼在官网宣布,将在明年3月停止销售Betamax录像带。除了Betamax之外,索尼的MicroMV录像带也会在同时下市。但索尼在2002年已经停产了 Betamax 格式的摄像机。Tumblr 推出即时消息功能据外媒 engadget 消息,Tumblr 今日推出了针对朋友间私密互动的即时消息功能。和其它版本的聊天工具不同,该功能比较单一,没有 emojis 表情,且只对1500个账户开放了内测,想使用的用户需要邀请码。Tumblr 表示以后会在此基础上有更多分享功能。纽约州检察长叫停 DraftKings 和 FanDuel 赌博据《纽约时报》11月11日消息,美国纽约州检察长令社交体育游戏公司DraftKings 和 FanDuel尽快停止游戏中的赌博业务,称他们的行为违反了当地法律。检察长Eric T. Schneiderman说:“很显然,这两家公司涉及几十亿美元的全球范围的赌球方案,是在本州是不允许的。”Apple Music 今日在 Android 上线据Techcrunch消息,苹果音乐(Apple Music)今日推出Android版,这也是苹果公司推出的第一个以用户为中心 Android 版应用。和ios版本一样,首批在Android设备上注册Apple Music服务的用户将免费获得三个月的试用期。截至今晨 5 点,小米天猫交易额突破 5 亿截至今天凌晨5点35分,小米在天猫的支付金额突破了5亿元。在双11开场11分钟后,小米在天猫旗舰店支付金额超过一亿元。小米方面表示,本次双11活动期间,小米手机备货量将超过200万台。Mac 工程负责人Johann Jungwirth 从苹果离职据外媒Macrumor消息,日前苹果原 Mac 工程负责人 Johann Jungwirth 已经离开苹果公司,加入大众,被任命为大众汽车数字战略部门总监。大众公司对此表示,Jungwirth的加入将帮助大众进一步加强在数字方面的地位。三星 Gear VR 开始预售,售价 99 美元据外媒 Oculus 消息,今日 Gear VR 开始在 Amazon, BestBuy 和三星官网预售,本月20日正式发售,售价 99美元。Gear VR 是魔三星和 Oculus 合作的移动版虚拟现实头盔,让用户通过 Galaxy Note 5, Galaxy S6 edge+, S6, S6 edge 等设备进入虚拟现实的境界。
为你推送和解读最前沿、最有料的科技创投资讯
36Kr股权投资
汇集行业内最优质创业项目的股权投资平台
聚集15家顶级投资机构的专业互联网融资平台
聚集全球最优秀的创业者,项目融资率接近97%,领跑行业微信公众账号订阅号可以设置自定义菜单吗,服务号怎么做到每天都能推送?貌似微信公众账号,订阅号每天都能推送但是不能设置自定义菜单,服务号能设置自定义菜单,去不能每天都推送?而那些在微信升级为5.0之前申请设置自定义菜单的订阅号都是奇葩的存在,请问现在还有什么方法可以让订阅号拥有自定义菜单吗?
订阅号目前不可以自己设置菜单,服务号只能每月推送一次你可以用第三方微信发布平台做简版的微信页面
之前在公司做微信营销稍微了解过一点,首先是除了楼主说的那些之前的奇葩订阅号可以有菜单,现在的除了服务号,基本都不能申请了,有企鹅的关系搞一个也说不定行,不过我是没接触到过。&br&&br&另外楼主问那个服务号每天群发信息这个,这个专门了解过,服务号,确实可以通过技术手段达到楼主说那种每天群发消息,甚至不受条数限制都行,而且原理也很简单,公众账号都可以对单个关注粉丝说话,通过代码实现批量发送来达到群发的效果就行了。&br&虽然理论上,服务号群发消息即使每天N条都是可行的,但是,公众平台是企鹅家的,只是借给大家玩,所以规则是企鹅说了算的。企鹅说,不行。服务号一月只让发一条,即使你通过这种形式跳过企鹅技术层面的限制,他说封你号就照样直接封你号不让你用了。&br&总而言之,发几条,怎么发,只有在他规则内才怎么玩都可以。&br&&br&---------------------------------------------&br&补充一点,看到楼下说,订阅号可以升级成服务号, 这个是针对微信把公众号分订阅和服务以前所注册的公众号,也就是说,微信公众号升级之前是不分订阅还是服务号的,升级后,所有之前注册的公众号统一更改为订阅号,但是可以有一次机会选择是否升级成为服务号。&br&自定义菜单是在这之前就已经测试并且可以申请的了。这也是为什么现在有些公众号,虽然是订阅号,但是仍然有自定义菜单的原因,因为是以前申请的。
之前在公司做微信营销稍微了解过一点,首先是除了楼主说的那些之前的奇葩订阅号可以有菜单,现在的除了服务号,基本都不能申请了,有企鹅的关系搞一个也说不定行,不过我是没接触到过。另外楼主问那个服务号每天群发信息这个,这个专门了解过,服务号,确实…
断断续续一直对微信这个产品做了些研究,说下我知道的。&br&订阅号 和 服务号的区别官方都有了,不细说。&br&&ul&&li&订阅号每天推送一条消息,原则上不能申请菜单&br&&/li&&li&服务号一个月可以推送一条消息,可以申请菜单&/li&&/ul&为什么有的订阅号可以有菜单,这里有两个方面的可能性&br&&ul&&li&在菜单内测期间参加了内测,升级完成后并没有升级成为服务号。&/li&&li&给钱或者通过内部关系获得的权限(真实存在)&/li&&/ul&为什么有的号每天可以发送多条消息&br&&ul&&li&微信最早期的部分用户,每天是可以全部用户推送三条信息的(类似 冷兔,音悦台)&br&&/li&&li&合作级别的企业,有更特殊的接口,可以实现推送&/li&&/ul&&br&现在目前来说,订阅号要实现菜单的接口,微信那边是完全可以实现的,只是给你开放个特殊接口而已,关键是你能不能找到人了(找人估计也需要付费)。
断断续续一直对微信这个产品做了些研究,说下我知道的。订阅号 和 服务号的区别官方都有了,不细说。订阅号每天推送一条消息,原则上不能申请菜单服务号一个月可以推送一条消息,可以申请菜单为什么有的订阅号可以有菜单,这里有两个方面的可能性在菜单内测…
gese.cc独立摄影师聚集地/【各色】洞悉互联网发展忘掉烦恼,花一个小时与爱的人一起度过!
红色石头-微信
红色石头微信公众号,使用微信消息开放API开发,提供:博文浏览及查询、天气预报、英汉词典、聊天机器人、快递跟踪、有道翻译、手机归属地、身份证信息、IP查询等功能,To Be Continue...
珠海影视制作-
Online For 1224 Days.
389 Blogs,
1841 Comments.
Update At 15-10-15 16:40
Feed & Contract
使用Java给微信公众号创建自定义的菜单
15:44:31&&&&
最近一段时间,微信公众平台做了很多的改进啊~
微信目前将公众帐号分成服务号和订阅号两种,之前的微信公众号默认为订阅号,不过有一次机会可以自由选择,两者之间各有优劣:
服务号每月只能推送一条消息,不过消息是显示在消息列表中,并有消息提示;订阅号每天有一条消息推送,不过消息不显示在消息列表,没有消息提示。
除此之外,目前微信公众号可以自定义菜单,下面将介绍如果使用Java作一个微信公众号的菜单,参考API可到官网查看:
import java.io.IOE
import java.io.InputS
import java.io.OutputS
import java.net.HttpURLC
import java.net.MalformedURLE
import java.net.URL;
import org.json.JSONO
public class MenuUtil {
* 获得ACCESS_TOKEN
* @Title: getAccess_token
* @Description: 获得ACCESS_TOKEN
* @param @return
* @return String
private static String getAccess_token(){
String APPID="";
String APPSECRET="";
String url = "https://api./cgi-bin/token?grant_type=client_credential&appid="+ APPID + "&secret=" +APPSECRET;
String accessToken =
URL urlGet = new URL(url);
HttpURLConnection http = (HttpURLConnection) urlGet.openConnection();
http.setRequestMethod("GET");
//必须是get方式请求
http.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
http.setDoOutput(true);
http.setDoInput(true);
System.setProperty("sun.net.client.defaultConnectTimeout", "30000");//连接超时30秒
System.setProperty("sun.net.client.defaultReadTimeout", "30000"); //读取超时30秒
http.connect();
InputStream is =http.getInputStream();
int size =is.available();
byte[] jsonBytes =new byte[size];
is.read(jsonBytes);
String message=new String(jsonBytes,"UTF-8");
JSONObject demoJson = new JSONObject(message);
accessToken = demoJson.getString("access_token");
System.out.println(message);
} catch (Exception e) {
e.printStackTrace();
return accessT
* 创建Menu
* @Title: createMenu
* @Description: 创建Menu
* @param @return
* @param @throws IOException
* @return int
public static String createMenu() {
String menu = "{\"button\":[{\"type\":\"click\",\"name\":\"MENU01\",\"key\":\"1\"},{\"type\":\"click\",\"name\":\"天气查询\",\"key\":\"西安\"},{\"name\":\"日常工作\",\"sub_button\":[{\"type\":\"click\",\"name\":\"待办工单\",\"key\":\"01_WAITING\"},{\"type\":\"click\",\"name\":\"已办工单\",\"key\":\"02_FINISH\"},{\"type\":\"click\",\"name\":\"我的工单\",\"key\":\"03_MYJOB\"},{\"type\":\"click\",\"name\":\"公告消息箱\",\"key\":\"04_MESSAGEBOX\"},{\"type\":\"click\",\"name\":\"签到\",\"key\":\"05_SIGN\"}]}]}";
//此处改为自己想要的结构体,替换即可
String access_token= getAccess_token();
String action = "https://api./cgi-bin/menu/create?access_token="+access_
URL url = new URL(action);
HttpURLConnection http =
(HttpURLConnection) url.openConnection();
http.setRequestMethod("POST");
http.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
http.setDoOutput(true);
http.setDoInput(true);
System.setProperty("sun.net.client.defaultConnectTimeout", "30000");//连接超时30秒
System.setProperty("sun.net.client.defaultReadTimeout", "30000"); //读取超时30秒
http.connect();
OutputStream os= http.getOutputStream();
os.write(menu.getBytes("UTF-8"));//传入参数
os.flush();
os.close();
InputStream is =http.getInputStream();
int size =is.available();
byte[] jsonBytes =new byte[size];
is.read(jsonBytes);
String message=new String(jsonBytes,"UTF-8");
return "返回信息"+
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
return "createMenu 失败";
* 删除当前Menu
* @Title: deleteMenu
* @Description: 删除当前Menu
* @param @return
* @return String
public static String deleteMenu()
String access_token= getAccess_token();
String action = "https://api./cgi-bin/menu/delete? access_token="+access_
URL url = new URL(action);
HttpURLConnection http =
(HttpURLConnection) url.openConnection();
http.setRequestMethod("GET");
http.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
http.setDoOutput(true);
http.setDoInput(true);
System.setProperty("sun.net.client.defaultConnectTimeout", "30000");//连接超时30秒
System.setProperty("sun.net.client.defaultReadTimeout", "30000"); //读取超时30秒
http.connect();
OutputStream os= http.getOutputStream();
os.flush();
os.close();
InputStream is =http.getInputStream();
int size =is.available();
byte[] jsonBytes =new byte[size];
is.read(jsonBytes);
String message=new String(jsonBytes,"UTF-8");
return "deleteMenu返回信息:"+
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
return "deleteMenu 失败";
public static void main(String[] args) {
System.out.println(createMenu());
代码来源于:http://www.oschina.net/code/snippet_55&,后续会做PHP版,并加入到自己的微信公众号上面,我的微信公众号二维码见右侧。Enjoy~
原创文章:转载出处:
相关标签TAGS: &&&&&&&&&&
&&& [ 疯子 ]
自定义菜单欢迎你~~ :)
&&& [ 红色石头 ]
@疯子: 没有使用过,感觉应该不错~~~你做过了?
&&& [ 疯子 ]
@红色石头: 嗯,已经投入使用了。
&&& [ 红色石头 ]
@疯子: 公众号名字叫什么?我加了试试~
&&& [ 聆听岁月 ]
不知道博主可用了通用接口,我看通用接口是可以上传获取图片 素材的,但是官方文档里只有获取token的接口,那通用获取素材的可有啊?
&&& [ yx ]
看了你的公众账号,你这种树形菜单结构是如何设计的呢?比如输入了1, 在下一次消息输入的时候,这个1是怎么存储的
&&& [ 红色石头 ]
@yx: 把用户的状态存储起来,文件存储或者memache都可以~
&&& [ yx ]
@红色石头: 属这两种方式比较普遍
&&& [ 红色石头 ]
@yx: 还能有其他什么方法?借鉴下~~~
&&& [ lanhu ]
把这段代码独立运行一下 就可以了吗
&&& [ 红色石头 ]
@lanhu: 是的,另外,php版本请查看我的另外以前博文,是自定义易信公众号菜单的,都是通用的~
&&& [ 蚊子 ]
要导入哪些jar包啊,易信的能用这个方法不
&&& [ 红色石头 ]
@蚊子: 易信和微信一模一样,只需要导出org.json.JSONObject这个外部包就可以了,另外,推荐用php做微信公众平台的开发,感觉会方便一些,我的易信和微信现在都是用php做的~
&&& [ 红色石头 ]
@蚊子: 请看博文:/blog.php?i=330 使用php创建菜单~
&&& [ 蚊子 ]
已经成功创建自定义菜单了,非常感谢!!!!!!!!!!!!
&&& [ 蚊子 ]
删除的时候不行
InputStream is =http.getInputStream();这句报错
java.net.SocketException: Unexpected end of file from server
&&& [ 红色石头 ]
@蚊子: 删除其实没有必要啊,直接删除代码中json的菜单项,然后再请求一次就可以了~
&&& [ 红色石头 ]
@红色石头: 我现在用的php,源码见:/source.php?f=works/yixin
&&& [ 蚊子 ]
自定义菜单的链接,能不能带上用户登陆的微信账号的信息呢,就是点击链接后能判断是谁登陆的就可以
&&& [ 红色石头 ]
@蚊子: 不能,至少目前api不包含这个信息,不排除以后有,因为这个还是很有用的~
&&& [ 蚊子 ]
怎么获取用户的fakeid,因为要用到用户的帐号信息
&&& [ 红色石头 ]
@蚊子: 消息里面有个字段就是fromuser,获取那个就可以把~~~
&&& [ 蚊子 ]
有没有人做过微信的网页授权
&&& [ 红色石头 ]
@蚊子: 你说的是什么意思啊?
&&& [ 蚊子 ]
通过服务号认证后,网页授权获得用户信息
&&& [ 红色石头 ]
@蚊子: 没有弄过服务号,所以不知道啊~~~
&&& [ zhiroc ]
我想知道,这个要怎么用啊?
&&& [ aTool ]
@zhiroc: 做好之后请求一下,然后重新关注一下微信号就好了~~~
&&& [ haini ]
getAccess_token()
为什么老连接超时呢
&&& [ ao ]
java.net.ConnectException: Connection timed out: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
Nick Name:

我要回帖

更多关于 个人订阅号自定义菜单 的文章

 

随机推荐