自定义菜单创建接口

跳转到: 导航, 搜索

自定义菜单创建接口

自定义菜单能够丰富界面,让用户更好的体验功能,开启自定义菜单后,手机客户端和PC端界面分别如下图所示:


                   

URL

https://m.api.weibo.com/2/messages/menu/create.json

HTTP请求方式

POST

curl "https://m.api.weibo.com/2/messages/menu/create.json?access_token=ACCESS_TOKEN" -d 'menus={ }'

接口请求参数

  必选 类型及范围 说明
access_token true string 在账号Profile页--> 管理中心 --> 粉丝服务--> 高级功能--> 开发模式中获取,详细参考 获取粉丝服务平台开发接口的access token
menus true string 需要创建的自定义菜单,必须为JSON做URLEncode后的字符串格式,具体内容格式详见注意事项。

注意事项

  • 关于自定义菜单的更新问题:
    • 1. 自定义菜单调用后即刻生效;
    • 2. 但是手机端对于自定义菜单的处理有缓存机制,当用户第一次访问账号A后,账号A的自定义菜单就缓存在本地了,24小时才会重新更新一次;
    • 3. 更新自定义菜单后如果想即时看效果,可以去web端的im里面看效果,也可以试着把手机缓存清下;


  • 参数menus的json示例,实际调用时需将以下json进行URLEncode:
    • 1,其中"button"数组中需为1~3个
    • 2,其中"sub_button"数组中需为1~5个
{
    "button": [
        {
            "type": "click",
            "name": "获取优惠券",
            "key": "get_groupon"
        },
        {
            "type": "click",
            "name": "查询客服电话",
            "key": "the_big_brother_need_your_phone"
        },
        {
            "name": "菜单",
            "sub_button": [
                {
                    "type": "view",
                    "name": "网上4S店",
                    "url": "http://apps.weibo.com/1838358847/8rYu1uHD"
                },
                {
                    "type": "view",
                    "name": "砍价团",
                    "url": "http://apps.weibo.com/1838358847/8s1i6v74"
                },
                {
                    "type": "click",
                    "name": "么么哒",
                    "key": "memeda"
                }
            ]
        }
    ]
}

参数说明:
1,button 必填 一级菜单数组,个数应为1~3个
2,sub_button 选填 二级菜单数组,个数应为1~5个
3,type 选填 (与二级菜单sub_button同级时可不填)菜单的响应动作类型,目前有click、view两种类型
4,name 必填 菜单标题,不超过16个字节,子菜单不超过40个字节
5,key 选填 type为click时必填,菜单KEY值,用于消息接口推送,不超过128字节
6,url 选填 type为view时必填,网页链接,用户点击菜单可打开链接,不超过256字节


menus的urlencode,如下所示:

curl  "https://m.api.weibo.com/2/messages/menu/create.json?access_token=ACCESS_TOKEN" -d 'menus=%7B%22button%22%3A+%5B%7B%22type%22%3A+%22click%22%2C%22name%22%3A+%22%E8%8E%B7%E5%8F%96%E4%BC%98%E6%83%A0%E5%88%B8%22%2C%22key%22%3A+%22get_groupon%22%7D%2C%7B%22type%22%3A+%22click%22%2C%22name%22%3A+%22%E6%9F%A5%E8%AF%A2%E5%AE%A2%E6%9C%8D%E7%94%B5%E8%AF%9D%22%2C%22key%22%3A+%22the_big_brother_need_your_phone%22%7D%2C%7B%22name%22%3A+%22%E8%8F%9C%E5%8D%95%22%2C%22sub_button%22%3A+%5B%7B%22type%22%3A+%22view%22%2C%22name%22%3A+%22%E7%BD%91%E4%B8%8A4S%E5%BA%97%22%2C%22url%22%3A+%22http%3A%2F%2Fapps.weibo.com%2F1838358847%2F8rYu1uHD%22%7D%2C%7B%22type%22%3A+%22view%22%2C%22name%22%3A+%22%E7%A0%8D%E4%BB%B7%E5%9B%A2%22%2C%22url%22%3A+%22http%3A%2F%2Fapps.weibo.com%2F1838358847%2F8s1i6v74%22%7D%2C%7B%22type%22%3A+%22click%22%2C%22name%22%3A+%22%E4%B9%88%E4%B9%88%E5%93%92%22%2C%22key%22%3A+%22memeda%22%7D%5D%7D%5D%7D'

返回结果

// 成功返回
{
    "result": true
}

// 失败返回
{
    "request": "/2/messages/menu/create.json",
    "error_code": 264XX,
    "error": "error message."
}



文档更新时间: 2014-06-11