appkey加签
2016-05-25 13:55
330 查看
大众点评API需要通过签名来访问,签名的过程是将请求参数串以及APP密钥根据一定签名算法生成的签名值,作为新的请求参数从而提高访问过程中的防篡改性。签名值的生成详见下面的描述。
1. 资源访问路径,如/v1/deal/find_deals;
2. 请求参数:即API对应所需的参数名和参数值param=value,多个请求参数间用&连接
如deal_id=1-85462&appkey=00000;
3. 签名串,由签名算法生成
签名算法如下:
1. 对除appkey以外的所有请求参数进行字典升序排列;
2. 将以上排序后的参数表进行字符串连接,如key1value1key2value2key3value3...keyNvalueN;
3. 将app key作为前缀,将app secret作为后缀,对该字符串进行SHA-1计算,并转换成16进制编码;
4. 转换为全大写形式后即获得签名串
签名串获得后,将其作为sign参数附加到对应的URL中,即可正常访问API。
注意:请保证HTTP请求数据编码务必为UTF-8格式,URL也务必为UTF-8编码格式。
具体调用示例请参见https://github.com/dianping/dianping-open-sdk,包括Java/Python/PHP/Javascript/iOS/Android/C#。
URL签名生成规则
所有大众点评API的有效访问URL包括以下三个部分:1. 资源访问路径,如/v1/deal/find_deals;
2. 请求参数:即API对应所需的参数名和参数值param=value,多个请求参数间用&连接
如deal_id=1-85462&appkey=00000;
3. 签名串,由签名算法生成
签名算法如下:
1. 对除appkey以外的所有请求参数进行字典升序排列;
2. 将以上排序后的参数表进行字符串连接,如key1value1key2value2key3value3...keyNvalueN;
3. 将app key作为前缀,将app secret作为后缀,对该字符串进行SHA-1计算,并转换成16进制编码;
4. 转换为全大写形式后即获得签名串
签名串获得后,将其作为sign参数附加到对应的URL中,即可正常访问API。
注意:请保证HTTP请求数据编码务必为UTF-8格式,URL也务必为UTF-8编码格式。
具体调用示例请参见https://github.com/dianping/dianping-open-sdk,包括Java/Python/PHP/Javascript/iOS/Android/C#。
Java生成签名示例(Android请另行参考这里)
相关文章推荐
- IOS AutoLayout详解(三)用代码实现(附Demo下载)
- webView视图添加header视图和footer视图
- iOS开发图片加载的内存问题及优化方案
- Bitmap的高效加载
- Android中设置控件可见与不可见详解
- eclipse再见,android studio 新手入门教程(三)Github(.ignore忽略规则)的使用
- iOS响应者链
- 浅析RxJava和RxAndroid关于线程切换和操作符作用
- android获取拍照图片、本地图片简单实现!
- startActivityForResult与startActivity的不同之处
- 移动端地图技术分享
- android intent.setType("type");的含义
- iOS开发中对于第三方AFNetworking的使用
- Android的录像实现
- 解决webview中输入框完成输入隐藏键盘后滑动界面又弹出软键盘问题
- spring源码解析之默认配置文件名/WEB-INF/applicationContext.xml
- 手把手教你做视频播放器(三)-展示视频列表
- [Android学习]JSON的三种解析方式
- 深入了解Bundle和Map
- android adb 启动特定activity