thinkphp,onethink百度熊掌号推送案例
百度熊掌号php推送示例:
$APPID和$TOKEN在认证过的熊掌号推送接口中,如下面$api。
$urls = array(
'http://www.example.com/1.html',
'http://www.example.com/2.html',
);
$api = 'http://data.zz.baidu.com/urls?appid={$APPID}&token={$TOKEN}&type=realtime';
$ch = curl_init();
$options = array(
CURLOPT_URL => $api,
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POSTFIELDS => implode("\n", $urls),
CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),
);
curl_setopt_array($ch, $options);
$result = curl_exec($ch);
echo $result;
在进行推送之前$url = array();是我们需要生成需要推送的url连接数组,循环一下所查询出来的$lists数据即可得到,$lists是数据表中查询出来的文章数组,推送之前判断是否为空,也可以判断$url = array();是否为空。
if(!empty($lists))
{
$api = 'http://data.zz.baidu.com/urls?appid={$APPID}&token={$TOKEN}&type=realtime';
$ch = curl_init();
$options = array(
CURLOPT_URL => $api,
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POSTFIELDS => implode("\n", $urls),
CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),
);
curl_setopt_array($ch, $options);
$result = curl_exec($ch);
$return_status = json_decode($result,true);
if($return_status['success_realtime'] > 0){
foreach($ids_set as $k=>$v){
M('Article')->where(array('id'=>$v))->save(array('tuisong'=>1));
}
}
echo $result;
}
else
{
$mes_data = array(
'error' => '0',
'message' => '暂无最新数据推送!'
);
$this->ajaxReturn($mes_data,'JSON');
}
更新已经推送过的文章状态,tuisong = 1,未推送 tuisong = 0。
$return_status = json_decode($result,true);
if($return_status['success_realtime'] > 0){
foreach($ids_set as $k=>$v){
M('Article')->where(array('id'=>$v))->save(array('tuisong'=>1));
}
}
发表评论 取消回复