王剑编程网

分享专业编程知识与实战技巧

DEDECMS织梦系统接入熊掌号推送api,完整详细教程

熊掌号的API提交分为新增内容接口和历史内容接口两个接口。通过新增内容接口,提交站内 当天新产生内容的链接。新增内容享受24小时内抓取校验、快速展现优待。


第一步:

根据熊掌号要求完成校验页面,官方文档很详细,照着弄就行了

第二步:

开始后台改造

1.进入后台文件夹dede(自己实际的文件夹),然后进入templets目录,打开body_index.htm



 大概104行左右,加入入口链接(content_listxzh.php):

具体样子:


                  
SetNameSpace('menu','<','>'); $dtp->LoadTemplet($myIcoFile); if(is_array($dtp->CTags)){ foreach($dtp->CTags as $ctag){ $title = $ctag->GetAtt('title'); $ico = $ctag->GetAtt('ico'); $link = $ctag->GetAtt('link'); echo " "; } } ?>


织梦熊掌号推送api

然后刷新后台看看


织梦熊掌号推送api

2.返回上一级目录,dede下面,复制一份content_list.php,改为content_listxzh.php(和入口链接一致),

然后打开该文件,在232行左右,修改模板指向文件,content_list.htm改为content_listxzh.htm



  //模板
	if(empty($s_tmplets)) $s_tmplets = 'templets/content_listxzh.htm';
	$dlist->SetTemplate(DEDEADMIN.'/'.$s_tmplets);


织梦熊掌号推送api

3.再次进入templets文件夹,复制content_list.htm,改为content_listxzh.htm,编辑文件,103行左右加入代码:


           百度熊账号更新 


织梦熊掌号推送api

保存,然后进入后台查看是否显示出来


织梦熊掌号推送api


4.进入dede目录下,js文件夹里面,打开list.js,在最后或者中间加入代码:




  function xzh(aid){
	var qstr=getCheckboxItem();
	if(aid==0) aid = getOneItem();
	location="archives_do.php?qstr="+qstr+"&aid="+aid+"&dopost=xzh"; 
}


在87行左右;插入代码:



    new ContextItem("熊账号更新",function(){ xzh(aid); }),


织梦熊掌号推送api

5.进入dede目录下,打开archives_do.php 在267行左右加入推送代码:



 /*--------------------------
	//熊掌号更新
	function xzh() {   }
	---------------------------*/
	else if($dopost=="xzh")
	{
		CheckPurview('a_Check,a_AccCheck,sys_ArcBatch');
		require_once(DEDEADMIN."/inc/inc_archives_functions.php");
		if( !empty($aid) && empty($qstr) ) $qstr = $aid;
		if($qstr=='')
		{
			ShowMsg("参数无效!",$ENV_GOBACK_URL);
			exit();
		}
		$arcids = preg_replace("#[^0-9,]#", '', preg_replace("#`#", ',', $qstr));
		$query = "Select arc.id,arc.title,arc.shorttitle,arc.typeid,arc.ismake,arc.senddate,arc.arcrank,arc.money,arc.filename,arc.litpic,
							t.typedir,t.typename,t.namerule,t.namerule2,t.ispart,t.moresite,t.siteurl,t.sitepath,t.isdefault,t.defaultname 
							from `dede_archives` arc left join dede_arctype t on arc.typeid=t.id 
				WHERE arc.id in($arcids) ";
		$dsql->SetQuery($query);
		$dsql->Execute();

		$data=array();
		while($row = $dsql->GetArray())
		{

				$preRow=$row;
				 $data[]=GetFileUrl($preRow['id'],$preRow['typeid'],'',$preRow['title'],
								$preRow['ismake'],0,$preRow['namerule'],$preRow['typedir'],$preRow['money'],$preRow['filename'],
								$preRow['moresite'],$preRow['siteurl'],$preRow['sitepath']); 
			
		}

			$urls=$data;
			$api = 'http://data.zz.baidu.com/urls?appid=你的熊掌号id&token=bGtk3lFYrn6XQJBY&type=batch';
			$ch = curl_init();
			$options =  array(
				CURLOPT_URL => $api,
				CURLOPT_POST => true,
				CURLOPT_RETURNTRANSFER => true,
				CURLOPT_POSTFIELDS => implode("
", $urls),
				CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),
			);
			curl_setopt_array($ch, $options);
			$result = curl_exec($ch);
			echo $result;

		ShowMsg($result,$ENV_GOBACK_URL);
		exit();
	}
	


注意填写自己的熊掌号id


织梦熊掌号推送api


最后测试一下结果:显示成功success


织梦熊掌号推送api


以上就是所有过程,我自己写的api接口,其他接口也可以按照这个思路来写,,你也可以按照这个自己定义一个原创内容推送接口,主要是接口地址正确,对应的自定义文件链接正确,一般都没多大问题,下载我资源网( www.xiazaiwo.net)未经允许,请勿私自转载,

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言