这里介绍的是大众点评的团购中的一个接口。就是全部团购信息,其它的接口的实现是大同小异的。

首先,登录大众点评的开发平台->大众点评 。

然后获取到自己的应用的appkey和secret。这个是开发必备的。能够下载大众点评提供的demo->demo 。

获取全部的团购信息:

DZDPApiTool.java 大众点评提供的Api工具类(请求api -> requestApi这种方法)

public class DZDPApiTool {
/**
* 获取请求字符串
*
* @param appKey
* @param secret
* @param paramMap
* @return
*/
public static String getQueryString(String appKey, String secret, Map<String, String> paramMap)
{
String sign = sign(appKey, secret, paramMap); StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("appkey=").append(appKey).append("&sign=").append(sign);
for (Entry<String, String> entry : paramMap.entrySet())
{
stringBuilder.append('&').append(entry.getKey()).append('=').append(entry.getValue());
}
String queryString = stringBuilder.toString();
return queryString;
} /**
* 获取请求字符串,參数值进行UTF-8处理
*
* @param appKey
* @param secret
* @param paramMap
* @return
*/
public static String getUrlEncodedQueryString(String appKey, String secret, Map<String, String> paramMap)
{
String sign = sign(appKey, secret, paramMap); StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("appkey=").append(appKey).append("&sign=").append(sign);
for (Entry<String, String> entry : paramMap.entrySet())
{
try
{
stringBuilder.append('&').append(entry.getKey()).append('=').append(URLEncoder.encode(entry.getValue(),
"UTF-8"));
}
catch (UnsupportedEncodingException e)
{
}
}
String queryString = stringBuilder.toString();
return queryString;
} /**
* 请求API
*
* @param apiUrl
* @param appKey
* @param secret
* @param paramMap
* @return
*/
public static String requestApi(String apiUrl, String appKey, String secret, Map<String, String> paramMap)
{
String queryString = getQueryString(appKey, secret, paramMap); StringBuffer response = new StringBuffer();
HttpClientParams httpConnectionParams = new HttpClientParams();
httpConnectionParams.setConnectionManagerTimeout(1000);
HttpClient client = new HttpClient(httpConnectionParams);
HttpMethod method = new GetMethod(apiUrl); try
{
if (queryString != null && !queryString.isEmpty())
{
// Encode query string with UTF-8
String encodeQuery = URIUtil.encodeQuery(queryString, "UTF-8");
method.setQueryString(encodeQuery);
} client.executeMethod(method);
BufferedReader reader = new BufferedReader(new InputStreamReader(method.getResponseBodyAsStream(), "UTF-8"));
String line = null;
while ((line = reader.readLine()) != null)
{
response.append(line).append(System.getProperty("line.separator"));
}
reader.close();
}
catch (URIException e)
{
}
catch (IOException e)
{
}
finally
{
method.releaseConnection();
}
return response.toString(); } /**
* 签名
*
* @param appKey
* @param secret
* @param paramMap
* @return
*/
public static String sign(String appKey, String secret, Map<String, String> paramMap)
{
// 參数名排序
String[] keyArray = paramMap.keySet().toArray(new String[0]);
Arrays.sort(keyArray); // 拼接參数
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append(appKey);
for (String key : keyArray)
{
stringBuilder.append(key).append(paramMap.get(key));
} stringBuilder.append(secret);
String codes = stringBuilder.toString(); // SHA-1签名
// For Android
String sign = new String(Hex.encodeHex(DigestUtils.sha(codes))).toUpperCase(); return sign;
}
}

然后调用接口

Map<String, String> paramMap = new HashMap<String, String>();
paramMap.put("city", city);
paramMap.put("limit", 1);
paramMap.put("page", offset + "");
paramMap.put("region", region); DZDPApiTool.requestApi(http://api.dianping.com/v1/deal/find_deals, appkey, sign, paramMap);

參数:(引用大众点评)

  • 必选參数

    名称 类型 说明
    appkey string App Key,应用的唯一标识
    sign string 请求签名,生成方式见《API请求签名生成文档》
    city string 包括团购信息的城市名称。可选范围见相关API返回结果
  • 可选參数

    名称 类型 说明
    destination_city string 指定目的地城市名称。适用于“酒店”、“旅游”等分类,可选范围见相关API返回结果
    latitude float 纬度坐标,须与经度坐标同一时候传入
    longitude float 经度坐标,须与纬度坐标同一时候传入
    radius int 搜索半径,单位为米,最小值1,最大值5000。如不传入默觉得1000
    region string 包括团购信息的城市区域名,可选范围见相关API返回结果(不含返回结果中包括的城市名称信息)
    category string 包括团购信息的分类名,支持多个category合并查询,多个category用逗号切割。

    可选范围见相关API返回结果

    is_local int 依据是否是本地单来筛选返回的团购。1:是。0:不是
    keyword string 关键词,搜索范围包含商户名、商品名、地址等
    sort int 结果排序,1:默认,2:价格低优先。3:价格高优先。4:购买人数多优先,5:最新公布优先。6:即将结束优先。7:离经纬度坐标距离近优先
    limit int 每页返回的团单结果条目数上限。最小值1,最大值40,如不传入默觉得20
    page int 页码。如不传入默觉得1,即第一页
    format string 返回数据格式,可选值为json或xml,如不传入,默认值为json

Android 大众点评的接入的更多相关文章

  1. Android 仿美团网,大众点评购买框悬浮效果之修改版

    转帖请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/17761431),请尊重他人的辛勤劳动成果,谢谢! 我之前写 ...

  2. Android对ScrollView滚动监听,实现美团、大众点评的购买悬浮效果

    转帖请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/17761431),请尊重他人的辛勤劳动成果,谢谢! 我之前写 ...

  3. Android 对ScrollView滚动监听,实现美团、大众点评的购买悬浮效果

    转帖请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming),请尊重他人的辛勤劳动成果,谢谢! 随着移动互联网的快速发展,它已经和我们的生活息息相关了,在 ...

  4. Android ScrollView滚动实现大众点评、网易云音乐评论悬停效果

    今天听着网易云音乐,写着代码,真是爽翻了. http://blog.csdn.net/linshijun33/article/details/47910833 网易云音乐这个产品亮点应该在评论这一模块 ...

  5. MCI:移动持续集成在大众点评的实践

    一.背景 美团是全球最大的互联网+生活服务平台,为3.2亿活跃用户和500多万的优质商户提供一个连接线上与线下的电子商务服务.秉承“帮大家吃得更好,生活更好”的使命,我们的业务覆盖了超过200个品类和 ...

  6. 【腾讯Bugly干货分享】美团大众点评 Hybrid 化建设

    本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:http://mp.weixin.qq.com/s/rNGD6SotKoO8frmxIU8-xw 本期 T ...

  7. 【原创】大众点评监控平台cat的性能分析

    由于工作的原因,或者说我们之前内部监控设计和实现有点不满足现有的研发需求,所以调研了一下大众点评开源出来的cat这一套监控系统. 今天我们就来实验一把,cat的客户端埋点在我们的程序流程中上报数据到c ...

  8. WhatsApp值160亿美元,腾讯推大众点评微信支付!

    腾讯前脚刚入股大众点评,FB后脚就将斥资160亿美元收购WhatsApp(40亿美元现金和120亿美元股票). 为什么WhatsApp值160亿美元?这是什么东东呢?WhatsApp这款服务可以帮助用 ...

  9. 大众点评CAT开源监控系统剖析

    参考文档: 大众点评的实时监控系统分析(一) CAT_source_analyze 透过CAT,来看分布式实时监控系统的设计与实现 深度剖析开源分布式监控CAT [分布式监控CAT] Client端源 ...

随机推荐

  1. 《人月神话》读书笔记(2)-week3

    为了确保团队中的每个人都能保持系统概念上的完整性,关于项目的书面规格说明是必不可少的.手册要描绘用户可见的一切,但不应支配实现的过程.光有规格说明也是不够的,会议也是必要的.书中提到的周例会会迅捷地给 ...

  2. ThinkPHP5杂技(一)

    Thinkphp5 assign 传递 " 时 ,前台收到的是 " 和ThinkPHP3.2不一样,3.2收到的是 ”,传递给js时 用的data.replace(new RegE ...

  3. 北京集训TEST13——PA(第k小数)

    题目: Description [问题描述] 从n个数中选若干(至少1)个数求和,求所有方案中第k小的和(和相同但取法不同的视为不同方案).[输入格式]    第一行输入2个正整数n,k.    第二 ...

  4. UVa11542 Square

    /*by SilverN*/ #include<iostream> #include<algorithm> #include<cstring> #include&l ...

  5. Bzoj3747 [POI1015] Kinoman

    Description 共有m部电影,编号为1~m,第i部电影的好看值为w[i]. 在n天之中(从1~n编号)每天会放映一部电影,第i天放映的是第f[i]部. 你可以选择l,r(1<=l< ...

  6. 【CF711C】Coloring Trees(DP)

    题意:给你n个数字,一共有m种,如果某数为0则该数为空,空的地方可以填任意种类数,但每填一个数字都要花费一定的费用, 从头到尾,所有相邻且相同的数字看作一个集合,求使n个数字的集合数为k所需的最小费用 ...

  7. MIPS中的异常处理和系统调用【转】

    转自:http://blog.csdn.net/jasonchen_gbd/article/details/44044091 权声明:本文为博主原创文章,转载请附上原博链接. 异常入口 系统调用是用户 ...

  8. consul UI用127可以访问,指定ip无法访问

    ./consul agent -dev    只能127.0.0.1可以访问 ./consul agent -dev  -client 0.0.0.0 -ui  指定ip可以访问

  9. LeetCode OJ——Pascal's Triangle

    http://oj.leetcode.com/problems/pascals-triangle/ 杨辉三角 先分析数据,找出规律 ans[row][col] = ans[row-1][col-1]+ ...

  10. python常用模块2

    collections模块 在内置数据类型(dict.list.set.tuple)的基础上,collections模块还提供了几个额外的数据类型:Counter.deque.defaultdict. ...