首页 » PHP » 大众点评API接口函数封装–每日新增团购todaynew

大众点评API接口函数封装–每日新增团购todaynew

8353 6

tiandi发现大众点评开发论坛里,有不少人问sign错误的问题,sign是什么呢?大众点评提供的API中,必须传递一个叫sign的参数,这个参数不仅包含了开发者的appkey和secret的信息,还包含了访问的url的链接,这个sign的最终作用是让大众点评识别出用户的访问究竟是来自怎样的客户端,然后做相关的后续操作,比如给开发者分成等等,所以可以说这个sign是重中之重,那么这个sign是如何来的呢?它不是简单的由字符串拼接而成,而是需要通过一系列算法得出的,只要其中有一步错误,就会得到错误的sign值。tiandi封装函数的目的也就是简化这一步,开发者只要定义好APPKEY和SECRET,并输入简单的参数,例如时间,地点,团购类型,而无需再考虑什么sign不sign的问题。

封装函数:todaynew($cityname,$today)

$cityname为城市名,例如shanghai。

$today为日期,格式为YYYY-MM-DD。

返回类型:Array。$data[count]为当日新增团购总数/$data[id_list]当日新增团购ID集合。

函数原型:

API名称: 获取每日新增团购ID列表 deal/get_daily_new_id_list

描述:获取指定城市每日新增团购ID列表

数据格式:JSON/XML

方法:HTTP GET

等级:普通

是否需要用户授权:否

请求URL:http://api.dianping.com/v1/deal/get_daily_new_id_list

函数源码:

        /****************************************************/
        /*当日新增API   
        /*para1:城市名
        /*para2:日期 YYYY-MM-DD
        /*return:当日新增的团购id集合
	/*returntype: Array
	/****************************************************/

	function todaynew($cityname,$today)
	{
	$url= 'http://api.dianping.com/v1/deal/get_daily_new_id_list';
	$params = array('format'=>'json','city'=>$cityname,'date'=>$today);
	ksort($params);

	//以下计算sign
	$codes = APPKEY;
	$queryString = '';
	while (list($key, $val) = each($params))
	{
		$codes .=($key.$val);
		$queryString .=('&'.$key.'='.urlencode($val));
	}
	$codes .=SECRET;
	$sign = strtoupper(sha1($codes));
	$url= $url. '?appkey='.APPKEY.'&sign='.$sign.$queryString;
	$ch = curl_init($url);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
	curl_setopt($ch, CURLOPT_ENCODING, 'UTF-8');
	$data = json_decode(curl_exec($ch), true);
	curl_close($ch);
	return $data;
	}

注意事项:

APPKEY为大众点评提供的app key,应用唯一标识。

SECRET为大众点评提供的app secret。

文章评分2次,平均分5.0

本文原始地址:https://www.tiandiyoyo.com/2014/06/get-daily-new-id-list/
本站所有文章,除了特别注明外,均为本站原创,转载请注明出处来自www.tiandiyoyo.com

您可能还会对以下文章感兴趣:

评论前先开启评论开关:


6 Comments

  1. 郑永 :

    懂代码真好,偶尔可以玩玩。

  2. 我都是用美团或者糯米。

载入分页评论...