delphi 微信接口开发

bjhmsoft_lhj 2014-04-25 03:38:05
接口说明

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

http请求方式:POST
https://api.weixin.qq.com/cgi-bin/menu/create?access_token=ACCESS_TOKEN

请求示例

{
"button":[
{
"type":"click",
"name":"今日歌曲",
"key":"V1001_TODAY_MUSIC"
},
{
"type":"click",
"name":"歌手简介",
"key":"V1001_TODAY_SINGER"
},
{
"name":"菜单",
"sub_button":[
{
"type":"click",
"name":"hello word",
"key":"V1001_HELLO_WORLD"
},
{
"type":"click",
"name":"赞一下我们",
"key":"V1001_GOOD"
}]
}]
}

这个是php代码怎么转delphi 代码
...全文
7552 29 打赏 收藏 转发到动态 举报
写回复
用AI写文章
29 条回复
切换为时间正序
请发表友善的回复…
发表回复
雄雄雄不是熊 2015-12-29
  • 打赏
  • 举报
回复
kygen 2015-12-25
  • 打赏
  • 举报
回复
来学习的。 用delphi的人很少了。 有什么QQ群吗?
chinazxy2008 2015-12-23
  • 打赏
  • 举报
回复
各位大侠,怎么用Delphi SOAP 的webservice 实现微信接入验证呢。
MaJin2012 2015-06-15
  • 打赏
  • 举报
回复
是要开发一个听音乐的吗?
lyhoo163 2015-04-15
  • 打赏
  • 举报
回复
一年前的帖子,未结贴。
yuzt 2015-04-15
  • 打赏
  • 举报
回复
MARK 正在学习中
dream_wzf 2015-03-19
  • 打赏
  • 举报
回复
牛主很牛啊~ Mark一下
nippycn 2015-02-15
  • 打赏
  • 举报
回复
引用 18 楼 dnlidejun 的回复:
function PostMethod(HTTP: TIdHTTP; Url: String; Data: UTF8String; Max: Integer): String; var PostData, RespData: TStringStream; begin RespData := TStringStream.Create(''); PostData := TStringStream.Create(Data); try try if HTTP = nil then Exit; HTTP.Post(Url, PostData, RespData); Result := RespData.DataString; HTTP.Request.Referer := Url; except Dec(Max); if Max = 0 then begin Result := ''; Exit; end; Result := PostMethod(Url, Data, Max); end; finally HTTP.Disconnect; FreeAndNil(RespData); FreeAndNil(PostData); end; end; function CreateMenus(AccessToken: String): TJSONObject; var Url: string; J: TJSONObject; m1: TJSONObject; m2, m21, m22, m23: TJSONObject; m3, m31, m32, m33: TJSONObject; temp: RawByteString; begin J := TJSONObject.Create; try Url := Format(CreateMenuUrl, [AccessToken]); J.AddPair('button', TJSONArray.Create); with J.GetValue('button') as TJSONArray do begin m1 := TJSONObject.Create; m1.AddPair('type', 'view'); m1.AddPair('name', '微商城'); m1.AddPair('url', 'http://wd.koudai.com/?userid=169004500'); Add(m1); m2 := TJSONObject.Create; m2.AddPair('name', '微会员'); m2.AddPair('sub_button', TJSONArray.Create); with m2.GetValue('sub_button') as TJSONArray do begin m21 := TJSONObject.Create; m21.AddPair('type', 'click'); m21.AddPair('name', '每日签到'); m21.AddPair('key', 'm21'); add(m21); m22 := TJSONObject.Create; m22.AddPair('type', 'click'); m22.AddPair('name', '查询积分'); m22.AddPair('key', 'm22'); add(m22); m23 := TJSONObject.Create; m23.AddPair('type', 'click'); m23.AddPair('name', '模板测试'); m23.AddPair('key', 'm23'); add(m23); end; Add(m2); m3 := TJSONObject.Create; m3.AddPair('name', '微服务'); m3.AddPair('sub_button', TJSONArray.Create); with m3.GetValue('sub_button') as TJSONArray do begin m31 := TJSONObject.Create; m31.AddPair('type', 'view'); m31.AddPair('name', '买彩票'); m31.AddPair('url', 'http://tc.w-caipiao.tenpay.com/m_wx/index.html?showwxpaytitle=1&vb2ctag=4_2062_3_1915'); add(m31); m32 := TJSONObject.Create; m32.AddPair('type', 'view'); m32.AddPair('name', '充话费'); m32.AddPair('url', 'http://chong.qq.com/mobile/wt_index.shtml#logic.wx.wt.recharge.mobile=mobileRecharge'); add(m32); m33 := TJSONObject.Create; m33.AddPair('type', 'click'); m33.AddPair('name', '听音乐'); m33.AddPair('key', 'm33'); add(m33); end; Add(m3); end; temp := PostMethod(Url, UTF8Encode(J.ToString), 1); Result := TJSONObject.ParseJSONValue(temp) as TJSONObject; finally J.Free; end; end;
MARK!!
oushengfen 2015-02-13
  • 打赏
  • 举报
回复
呵呵,不错,学习一下,顺便接分
Devin.Lee 2015-02-13
  • 打赏
  • 举报
回复
function PostMethod(HTTP: TIdHTTP; Url: String; Data: UTF8String; Max: Integer): String; var PostData, RespData: TStringStream; begin RespData := TStringStream.Create(''); PostData := TStringStream.Create(Data); try try if HTTP = nil then Exit; HTTP.Post(Url, PostData, RespData); Result := RespData.DataString; HTTP.Request.Referer := Url; except Dec(Max); if Max = 0 then begin Result := ''; Exit; end; Result := PostMethod(Url, Data, Max); end; finally HTTP.Disconnect; FreeAndNil(RespData); FreeAndNil(PostData); end; end; function CreateMenus(AccessToken: String): TJSONObject; var Url: string; J: TJSONObject; m1: TJSONObject; m2, m21, m22, m23: TJSONObject; m3, m31, m32, m33: TJSONObject; temp: RawByteString; begin J := TJSONObject.Create; try Url := Format(CreateMenuUrl, [AccessToken]); J.AddPair('button', TJSONArray.Create); with J.GetValue('button') as TJSONArray do begin m1 := TJSONObject.Create; m1.AddPair('type', 'view'); m1.AddPair('name', '微商城'); m1.AddPair('url', 'http://wd.koudai.com/?userid=169004500'); Add(m1); m2 := TJSONObject.Create; m2.AddPair('name', '微会员'); m2.AddPair('sub_button', TJSONArray.Create); with m2.GetValue('sub_button') as TJSONArray do begin m21 := TJSONObject.Create; m21.AddPair('type', 'click'); m21.AddPair('name', '每日签到'); m21.AddPair('key', 'm21'); add(m21); m22 := TJSONObject.Create; m22.AddPair('type', 'click'); m22.AddPair('name', '查询积分'); m22.AddPair('key', 'm22'); add(m22); m23 := TJSONObject.Create; m23.AddPair('type', 'click'); m23.AddPair('name', '模板测试'); m23.AddPair('key', 'm23'); add(m23); end; Add(m2); m3 := TJSONObject.Create; m3.AddPair('name', '微服务'); m3.AddPair('sub_button', TJSONArray.Create); with m3.GetValue('sub_button') as TJSONArray do begin m31 := TJSONObject.Create; m31.AddPair('type', 'view'); m31.AddPair('name', '买彩票'); m31.AddPair('url', 'http://tc.w-caipiao.tenpay.com/m_wx/index.html?showwxpaytitle=1&vb2ctag=4_2062_3_1915'); add(m31); m32 := TJSONObject.Create; m32.AddPair('type', 'view'); m32.AddPair('name', '充话费'); m32.AddPair('url', 'http://chong.qq.com/mobile/wt_index.shtml#logic.wx.wt.recharge.mobile=mobileRecharge'); add(m32); m33 := TJSONObject.Create; m33.AddPair('type', 'click'); m33.AddPair('name', '听音乐'); m33.AddPair('key', 'm33'); add(m33); end; Add(m3); end; temp := PostMethod(Url, UTF8Encode(J.ToString), 1); Result := TJSONObject.ParseJSONValue(temp) as TJSONObject; finally J.Free; end; end;
ron_xin 2014-07-21
  • 打赏
  • 举报
回复
2ccc.com有代码下载
delphi1523 2014-07-18
  • 打赏
  • 举报
回复
是啊,讲下,大家分享下。
xindong8 2014-07-16
  • 打赏
  • 举报
回复
讲解下解决方案吧
hhhfff2010 2014-06-05
  • 打赏
  • 举报
回复
感谢楼主,散分,楼主,顺便把你的实现方式分享一下。。。
缘中人 2014-06-04
  • 打赏
  • 举报
回复
讲一下课吧
okljl 2014-06-04
  • 打赏
  • 举报
回复
楼主你好牛啊!
mrzgh 2014-05-31
  • 打赏
  • 举报
回复
讲讲怎么解决的吧?
sysuye 2014-05-16
  • 打赏
  • 举报
回复
谢天谢地谢楼主
蓝色的天堂 2014-05-12
  • 打赏
  • 举报
回复
lyhoo163 2014-05-12
  • 打赏
  • 举报
回复
接分。。。。
加载更多回复(7)

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧