微信公众平台消息接口开发(30)大众点评商户信息团购及优惠券查询

2019-03-02 00:52|来源: 网路

微信公众平台开发 微信公众平台开发者 微信公众平台开发模式 大众点评 商户信息 团购 城市优惠券
作者:方倍工作室 
原文:http://www.cnblogs.com/txw1958/archive/2013/05/23/weixin-if30-dianping.html 

 

一、获取数据

大众点评推出国内首个 O2O 开发者平台——“大众点评开发者平台”,开发者应用可访问大众点评平台上的本地商户信息、商户点评、优惠及团购等内容。
通过大众点评 API,开发者的相关应用可以根据用户的实时需求,访问大众点评平台上的本地商户信息、商户点评、优惠及团购等内容。未来,他们还将开放商户预订、电子会员卡等服务,与开发者探索更多合作的可能性。

开发者平台申请地址 http://developer.dianping.com/

开发者申请使用大众点评API需要经过三个步骤:

第一步,注册开发者。
第二步,注册成功后即可获取App key,并拥有使用测试数据的权限,请参考《开发者协议》和《审核规范》进行应用开发。
第三步,在应用管理台提交应用审核,大众点评工作人员审核通过后,App key升级正式使用权限,同时自动切换为正式数据。

正式数据
App Key:480314895
App Secret:012e25459c3947e797104b397d1a0c6b

 

二、程序开发

目前大众点评主要有以下接口

这些接口都可以在微信公众平台上对接起来。
这里对其唯一的开发难点讲解如下:

API请求签名

概述
大众点评API需要通过签名来访问,签名的过程是将请求参数串以及APP密钥根据一定签名算法生成的签名值,作为新的请求参数从而提高访问过程中的防篡改性。签名值的生成详见下面的描述。

URL签名生成规则
所有大众点评API的有效访问URL包括以下三个部分:
1. 资源访问路径,如/v1/deal/find_deals;
2. 请求参数:即API对应所需的参数名和参数值param=value,多个请求参数间用&连接
如deal_id=1-85462&appkey=00000;
3. 签名串,由签名算法生成

签名算法如下:
1. 对除appkey以外的所有请求参数进行字典升序排列;

define('APPKEY','XXXXXXXX');
define('SECRET','XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX');
define('URL', 'http://api.dianping.com/v1/business/find_businesses');

$params = array('format'=>'json','city'=>'上海','latitude'=>'31.2204200000392','longitude'=>'121.41163000018','radius'=>'1000','offset_type'=>'1','sort'=>'7','has_deal'=>'1','has_coupon'=>'1','category'=>'美食','region'=>'长宁区','limit'=>'20','keyword'=>'泰国菜');
ksort($params);

2. 将以上排序后的参数表进行字符串连接,如key1value1key2value2key3value3...keyNvalueN; 

$codes = APPKEY;
$queryString = '';
while (list($key, $val) = each($params))
{
  $codes .=($key.$val);
  $queryString .=('&'.$key.'='.urlencode($val));
}
$codes .=SECRET;

3. 将app key作为前缀,将app secret作为后缀,对该字符串进行SHA-1计算,并转换成16进制编码;
4. 转换为全大写形式后即获得签名串

$sign = strtoupper(sha1($codes));

5. 签名串获得后,将其作为sign参数附加到对应的URL中,即可正常访问API。

$url= URL . '?appkey='.APPKEY.'&sign='.$sign.$queryString;
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_ENCODING, 'UTF-8');
$data = json_decode(curl_exec($curl), true);
curl_close($curl);

 

效果演示

优惠搜索

商户搜索

团购搜索

打开团购中的链接后

 

 

四、试用账号

  

 

原文:http://www.cnblogs.com/txw1958/archive/2013/05/23/weixin-if30-dianping.html

---------------------------------------------------------------------------------------------------------------------------

 


转自:http://www.cnblogs.com/txw1958/archive/2013/05/23/weixin-if30-dianping

相关问答

更多
  • JAVA的WEB开发、数据库开发等,,,,,,,,,,具体要看需求、构架等
  • 能使用的!微信 在安卓手机里可以使用,安装是用java 开发的,所以 可以用java开发
  • 微信公众平台开发注意事项: 一、微信公众平台开发是指为微信公众号进行业务开发,为移动应用、PC端网站、公众号第三方平台(为各行各业公众号运营者提供服务)的开发,请前往微信开放平台接入。 二、在申请到认证公众号之前,你可以先通过测试号申请系统,快速申请一个接口测试号,立即开始接口测试开发。 三、在开发过程中,可以使用接口调试工具来在线调试某些接口。 四、每个接口都有每日接口调用频次限制,可以在公众平台官网-开发者中心处查看具体频次。 五、在开发出现问题时,可以通过接口调用的返回码,以及报警排查指引(在公众平台 ...
  • 小猪cms还凑合,,有源码的 ,每周更新两三个模板的 ,你可以看下 ,,
  • 登录微信公众平台,点击左下角的 开发者工具,即可看到相关文档。
  • 微网站开发模式教程:   第一步:申请消息接口   在公众平台网站的高级功能 – 开发模式页,点击“成为开发者”按钮,填写URL和Token,其中URL是开发者用来接收微信服务器数据的接口URL。Token可由开发者可以任意填写,用作生成签名。   第二步:验证URL有效性   开发者提交信息后,微信服务器将发送GET请求到填写的URL上,GET请求携带四个参数:   开发者通过检验signature对请求进行校验。若确认此次GET请求来自微信服务器,请原样返回 echostr参数内容,则接入生效,成为开发 ...
  • 用第三方平台做个商城就可以了
  • 这很正常吧,代下单嘛,没事的,因为京东的优惠券只能用在自己账户上
  • 具体还要看微信开放平台开放的接口权限 如果 开放平台不给你自动分享权限 那当然就实现不了 据我所知 只能做到 自动展现分享内容 那个分享的确定按钮还是需要人工点击的 具体参考微信开放平台技术文档