백엔드 개발 PHP 튜토리얼 微信公众平台开发(八) 自定义菜单功能开发_PHP教程

微信公众平台开发(八) 自定义菜单功能开发_PHP教程

Jul 20, 2016 am 11:15 AM
내부 베타 기능 플랫폼 개발하다 위챗 성공 제공하다 적용하다 ~의 사용자 정의 메뉴 신청 자격

微信公众平台服务号以及之前成功申请内测资格的订阅号都具有自定义菜单的功能。开发者可利用该功能为公众账号的会话界面底部增加自定义菜单,用户点击菜单中的选项,可以调出相应的回复信息或网页链接。自定义菜单接口将为公众账号的信息展示空间提供更多可能性。本文将针对自定义菜单做简单的开发应用,

开发者获取使用凭证后,可以使用该凭证对公众账号的自定义菜单进行创建、查询和删除等操作。 自定义菜单接口可实现以下类型按钮:

click(点击事件):

view(访问网页):

创建自定义菜单后,由于微信客户端缓存,需要24小时微信客户端才会展现出来。建议测试时可以尝试取消关注公众账号后,再次关注,则可以看到创建后的效果。

文档地址:http://mp.weixin.qq.com/wiki/index.php?title=%E8%87%AA%E5%AE%9A%E4%B9%89%E8%8F%9C%E5%8D%95%E6%8E%A5%E5%8F%A3

3.1 获取appid 和appsecret

在 微信公众平台 > 高级功能 > 开发模式中找到appid 和appsecret。

 

3.2 使用appid 和appsecret 向微信凭证获取接口请求access_token

请求地址:https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

请求参数说明:

获取access_token填写client_credential

第三方用户唯一凭证

第三方用户唯一凭证密钥,既appsecret

返回说明:

正确的Json返回结果:

{"access_token":"ACCESS_TOKEN","expires_in":7200}
로그인 후 복사

返回参数说明:

access_token:获取到的凭证

expires_in:凭证有效时间,单位:秒

3.3 具体实现

a. 打印出格式

<?<span php

</span><span $APPID</span>="wxdxxxxxxxxxxxxxxx"<span ;
</span><span $APPSECRET</span>="96xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"<span ;

</span><span $TOKEN_URL</span>="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".<span $APPID</span>."&secret=".<span $APPSECRET</span><span ;

</span><span $json</span>=<span file_get_contents</span>(<span $TOKEN_URL</span><span );
</span><span $result</span>=json_decode(<span $json</span>,<span true</span><span );
</span><span print_r</span>(<span $result</span><span );

</span>?>
로그인 후 복사

结果如下:

b. 获取access_token

<?<span php

</span><span $APPID</span>="wxdxxxxxxxxxxxxxxx"<span ;
</span><span $APPSECRET</span>="96xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"<span ;

</span><span $TOKEN_URL</span>="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".<span $APPID</span>."&secret=".<span $APPSECRET</span><span ;

</span><span $json</span>=<span file_get_contents</span>(<span $TOKEN_URL</span><span );
</span><span $result</span>=json_decode(<span $json</span>,<span true</span><span );

</span><span $ACC_TOKEN</span>=<span $result</span>['access_token'<span ];

</span><span echo</span> <span $ACC_TOKEN</span><span ;

</span>?>
로그인 후 복사

注:access_token对应于公众号是全局唯一的票据,重复获取将导致上次获取的access_token失效。

方法:通过POST一个特定结构体,实现在微信客户端创建自定义菜单。

请求地址:https://api.weixin.qq.com/cgi-bin/menu/create?access_token=ACCESS_TOKEN

<span {
 "button":[
 {
       "name":"公共查询",
       "sub_button":[
        {
           "type":"click",
           "name":"天气查询",
           "key":"tianQi"
        },
        {
           "type":"click",
           "name":"公交查询",
           "key":"gongJiao"
        },
        {
           "type":"click",
           "name":"翻译",
           "key":"fanYi"
        }]
  },
  {
       "name":"苏州本地",
       "sub_button":[
        {
           "type":"click",
           "name":"爱上苏州",
           "key":"loveSuzhou"
        },
        {
           "type":"click",
           "name":"苏州景点",
           "key":"suzhouScenic"
        },
        {
           "type":"click",
           "name":"苏州美食",
           "key":"suzhouFood"
        },
        {
           "type":"click",
           "name":"住在苏州",
           "key":"liveSuzhou"
        }]
   },
   {
       "type":"click",
       "name":"联系我们",
       "key":"lianxiUs"
   }]
}</span>
로그인 후 복사

示例说明:

菜单结构及说明:

<span {
 "button":[             //button定义该结构为一个菜单
  {
       "name":"分支主菜单名",  
       "sub_button":[    //sub_button定义子菜单
        {
           "type":"click",  //按钮类型
           "name":"分支子菜单名1",  //菜单名称
           "key":"loveSuzhou"  //菜单key值
        },
        {
           "type":"click",
           "name":"分支子菜单名2",
           "key":"liveSuzhou"
        }]
   },    //菜单之间用 , 分隔
   {
       "type":"click",
       "name":"独立菜单",
       "key":"lianxiUs"
   }]
}</span>
로그인 후 복사

返回说明:

正确的Json返回结果:

{"errcode":0,"errmsg":"ok"}
로그인 후 복사

提交菜单:

通过curl 提交以上的菜单数据,代码如下:

<span $MENU_URL</span>="https://api.weixin.qq.com/cgi-bin/menu/create?access_token=".<span $ACC_TOKEN</span><span ;

</span><span $ch</span> =<span  curl_init(); 

curl_setopt(</span><span $ch</span>, CURLOPT_URL, <span $MENU_URL</span><span ); 
curl_setopt(</span><span $ch</span>, CURLOPT_CUSTOMREQUEST, "POST"<span );
curl_setopt(</span><span $ch</span>, CURLOPT_SSL_VERIFYPEER, <span FALSE</span><span ); 
curl_setopt(</span><span $ch</span>, CURLOPT_SSL_VERIFYHOST, <span FALSE</span><span );
curl_setopt(</span><span $ch</span>, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)'<span );
curl_setopt(</span><span $ch</span>, CURLOPT_FOLLOWLOCATION, 1<span );
curl_setopt(</span><span $ch</span>, CURLOPT_AUTOREFERER, 1<span ); 
curl_setopt(</span><span $ch</span>, CURLOPT_POSTFIELDS, <span $data</span><span );
curl_setopt(</span><span $ch</span>, CURLOPT_RETURNTRANSFER, <span true</span><span ); 

</span><span $info</span> = curl_exec(<span $ch</span><span );

</span><span if</span> (curl_errno(<span $ch</span><span )) {
    </span><span echo</span> 'Errno'.curl_error(<span $ch</span><span );
}

curl_close(</span><span $ch</span><span );

</span><span var_dump</span>(<span $info</span>);
로그인 후 복사

运行结果:

测试结果:

菜单创建成功。

查询当前使用的自定义菜单结构。

请求地址:https://api.weixin.qq.com/cgi-bin/menu/get?access_token=ACCESS_TOKEN

curl 代码如下:

<span $MENU_URL</span>="https://api.weixin.qq.com/cgi-bin/menu/get?access_token=".<span $ACC_TOKEN</span><span ;

</span><span $cu</span> =<span  curl_init();
curl_setopt(</span><span $cu</span>, CURLOPT_URL, <span $MENU_URL</span><span );
curl_setopt(</span><span $cu</span>, CURLOPT_RETURNTRANSFER, 1<span );
</span><span $menu_json</span> = curl_exec(<span $cu</span><span );
</span><span $menu</span> = json_decode(<span $menu_json</span><span );
curl_close(</span><span $cu</span><span );

</span><span echo</span> <span $menu_json</span>;
로그인 후 복사

取消当前使用的自定义菜单。

请求地址:https://api.weixin.qq.com/cgi-bin/menu/delete?access_token=ACCESS_TOKEN

curl 代码如下:

<span $MENU_URL</span>="https://api.weixin.qq.com/cgi-bin/menu/delete?access_token=".<span $ACC_TOKEN</span><span ;

</span><span $cu</span> =<span  curl_init();
curl_setopt(</span><span $cu</span>, CURLOPT_URL, <span $MENU_URL</span><span );
curl_setopt(</span><span $cu</span>, CURLOPT_RETURNTRANSFER, 1<span );
</span><span $info</span> = curl_exec(<span $cu</span><span );
</span><span $res</span> = json_decode(<span $info</span><span );
curl_close(</span><span $cu</span><span );

</span><span if</span>(<span $res</span>->errcode == "0"<span ){
    </span><span echo</span> "菜单删除成功"<span ;
}</span><span else</span><span {
    </span><span echo</span> "菜单删除失败"<span ;
}</span>
로그인 후 복사

运行结果:

测试结果:

菜单删除成功。

七、完整代码获取

请到QQ群213260412共享里下载使用。

八、关注

请关注 卓锦苏州 微信公众帐号,卓锦苏州 基于SAE 平台开发,针对于主流的微信功能进行开发测试。

您可以关注 卓锦苏州 公众帐号进行功能测试,以及获取新的应用开发。

1. 登录微信客户端,朋友们 -> 添加朋友 -> 搜号码 -> zhuojinsz,查找并关注。

2. 扫描二维码:

卓锦苏州菜单功能:

目前菜单具体功能还在开发之中,会陆续更新,敬请期待。。。

 


We Believe, Great People Share Knowledge...

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/440160.htmlTechArticle微信公众平台 服务号 以及 之前成功申请内测资格的订阅号 都具有自定义菜单的功能。开发者可利用该功能为公众账号的会话界面底部增加...
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. 크로스 플레이가 있습니까?
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

DeepSeek 이미지 생성 자습서 DeepSeek 이미지 생성 자습서 Feb 19, 2025 pm 04:15 PM

Deepseek : 강력한 AI 이미지 생성 도구! DeepSeek 자체는 이미지 생성 도구가 아니지만 강력한 핵심 기술은 많은 AI 페인팅 도구를 지원합니다. DeepSeek을 사용하여 이미지를 간접적으로 생성하는 방법을 알고 싶으십니까? 계속 읽으십시오! DeepSeek 기반 AI 도구로 이미지 생성 : 다음 단계에서는 다음 도구를 사용하도록 안내합니다. AI 페인팅 도구 시작 : DeepSeek 기반 AI 페인팅 도구를 검색하고 열면 "Simple AI"를 검색하십시오). 도면 모드 선택 : "AI 드로잉"또는 유사한 함수를 선택하고 "애니메이션 아바타", "풍경"과 같은 필요에 따라 이미지 유형을 선택하십시오.

Gateio 중국 공식 웹 사이트 Gate.io 거래 플랫폼 웹 사이트 Gateio 중국 공식 웹 사이트 Gate.io 거래 플랫폼 웹 사이트 Feb 21, 2025 pm 03:06 PM

2013 년에 설립 된 주요 암호 화폐 거래 플랫폼 인 Gate.io는 중국 사용자에게 완전한 공식 중국 웹 사이트를 제공합니다. 이 웹 사이트는 스팟 거래, 선물 거래 및 대출을 포함한 광범위한 서비스를 제공하며 중국 인터페이스, 풍부한 자원 및 커뮤니티 지원과 같은 특별한 기능을 제공합니다.

OKX 거래 플랫폼의 취급 수수료 목록 OKX 거래 플랫폼의 취급 수수료 목록 Feb 15, 2025 pm 03:09 PM

OKX Trading Platform은 거래 수수료, 인출 수수료 및 금융 수수료를 포함하여 다양한 요금을 제공합니다. 현물 거래의 경우 거래량은 거래량 및 VIP 수준에 따라 다르며 "시장 제조업체 모델"을 채택합니다. 즉, 시장은 각 거래에 대해 낮은 취급 수수료를 청구합니다. 또한 OKX는 통화 표준 계약, USDT 계약 및 배송 계약을 포함한 다양한 선물 계약을 제공하며 각 계약의 수수료 구조도 다릅니다.

Gateio Exchange App Old 버전 Gateio Exchange App Old 버전 다운로드 채널 Gateio Exchange App Old 버전 Gateio Exchange App Old 버전 다운로드 채널 Mar 04, 2025 pm 11:36 PM

Gateio Exchange 앱은 공식, 제 3 자 애플리케이션 시장, 포럼 커뮤니티 및 기타 채널을 다루는 기존 버전의 채널을 다운로드합니다. 또한 기존 버전을 쉽게 얻고 새로운 버전 또는 장치 호환성을 사용하여 불편 함 문제를 해결하는 데 도움이됩니다.

Ouyi Exchange App 국내 다운로드 자습서 Ouyi Exchange App 국내 다운로드 자습서 Mar 21, 2025 pm 05:42 PM

이 기사는 중국의 Ouyi Okx 앱의 안전한 다운로드에 대한 자세한 안내서를 제공합니다. 국내 앱 스토어의 제한으로 인해 사용자는 OUYI OKX의 공식 웹 사이트를 통해 앱을 다운로드하거나 공식 웹 사이트에서 제공 한 QR 코드를 사용하여 스캔 및 다운로드하는 것이 좋습니다. 다운로드 프로세스 중에 공식 웹 사이트 주소를 확인하고 응용 프로그램 권한을 확인하고 설치 후 보안 스캔을 수행하며 2 요인 확인을 활성화하십시오. 사용하는 동안 현지 법률 및 규정을 따르고, 안전한 네트워크 환경을 사용하고, 계정 보안을 보호하고, 사기에 대해 경계하고, 합리적으로 투자하십시오. 이 기사는 참조 용이며 투자 조언은 자신의 위험에 처해 있습니다.

참깨 오픈 도어 로그인 등록 입구 게이트 .io 교환 등록 공식 웹 사이트 입구 참깨 오픈 도어 로그인 등록 입구 게이트 .io 교환 등록 공식 웹 사이트 입구 Mar 04, 2025 pm 04:51 PM

Gate.io (Sesame Open Door)는 세계 최고의 암호 화폐 거래 플랫폼입니다. 자습서는 계정 등록 및 로그인, KYC 인증, 화폐 및 디지털 통화 재충전, 거래 쌍 선택, 한도/시장 거래 주문 및 주문 및 거래 기록보기와 같은 단계를 다루고 Cryptocurrency 거래를 위해 GATE.IO 플랫폼을 신속하게 시작할 수 있도록 도와줍니다. 초보자이든 베테랑이든,이 튜토리얼에서 혜택을 받고 Gate.io 거래 기술을 쉽게 마스터 할 수 있습니다.

Xiaohongshu 카피라이팅을 복사하는 방법 Xiaohongshu 카피라이팅을 복사하는 방법에 대한 그래픽 튜토리얼입니다. Xiaohongshu 카피라이팅을 복사하는 방법 Xiaohongshu 카피라이팅을 복사하는 방법에 대한 그래픽 튜토리얼입니다. Jan 16, 2025 pm 04:03 PM

샤오홍슈 카피라이팅을 쉽게 배워보세요! 이 튜토리얼에서는 지루한 단계에 작별 인사를 하고 Xiaohongshu 비디오 사본을 빠르게 복사하는 방법을 단계별로 설명합니다. Xiaohongshu 앱을 열고 마음에 드는 동영상을 찾은 후 동영상 아래의 [카피 라이팅] 영역을 클릭하세요. 복사된 텍스트를 길게 눌러 팝업 옵션에서 [텍스트 추출] 기능을 선택하세요. 시스템이 자동으로 텍스트를 추출합니다. 왼쪽 하단에 있는 [복사] 버튼을 클릭하세요. WeChat이나 Moments 등의 다른 애플리케이션을 열고 입력 상자를 길게 누른 후 [붙여넣기]를 선택하세요. 보내기를 클릭하면 복사가 완료됩니다. 그것은 간단합니다!

H5와 미니 프로그램과 앱의 차이점 H5와 미니 프로그램과 앱의 차이점 Apr 06, 2025 am 10:42 AM

H5. 미니 프로그램과 앱의 주요 차이점은 다음과 같습니다. 기술 아키텍처 : H5는 웹 기술을 기반으로하며 미니 프로그램 및 앱은 독립적 인 응용 프로그램입니다. 경험과 기능 : H5는 가볍고 사용하기 쉽고 기능이 제한되어 있습니다. 미니 프로그램은 가벼우 며 상호성이 우수합니다. 앱은 강력하고 부드러운 경험이 있습니다. 호환성 : H5는 크로스 플랫폼 호환성이며 애플릿 및 앱은 플랫폼에 의해 제한됩니다. 개발 비용 : H5는 개발 비용이 낮고 중간 미니 프로그램 및 최고 앱이 있습니다. 적용 가능한 시나리오 : H5는 정보 표시에 적합하고 애플릿은 가벼운 응용 프로그램에 적합하며 앱은 복잡한 기능에 적합합니다.

See all articles