开发百度小程序后,接下来,人们最想做的是让百度更多的录入自家内容。因为小程序资源被索引后,才可能在搜索结果中展现。

百度也提供了小程序的自然搜索提交入口。一共有两种方式:

第一种是用已有的H5网站资源替换,这种的录入速度应该非常快速,百度小程序平台将优先对 H5站点下的 TOP 流量 URL进行替换处理。

第二种提交新资源,接下来我们主要讲这第二种情况。

-----------------------------------------------------------------------------------------------------------

提交新资源又分为 “天级收录”和“周级收录”以及“自动同步”。资源提交的内容为小程序页面的path路径+参数。官网地址入口 )天级提交一般48小时内有反馈,周级提交需要周级处理后反馈。

“天级收录”和“周级收录” 都又2种提交资源的方式,第一种是txt资源上传(Sitemap),整理小程序页面的所有Path路径+参数,每行一条记录。第二种方式为API提交。(官网教程入口

根据官方提供的API文档说明,我们会知道如下几点:

第一:api的请求接口地址,用Post提交

https://openapi.baidu.com/rest/2.0/smartapp/access/submitsitemap/api

第二、参数说明

参数名 类型 是否必须 描述 示例
access_token string 权限校验Token,获取方式见开发者服务权限说明  
type int 通过TYPE字段选择上传接口。
· 0:周级提交,一周左右生效;
· 1:天级提交,2~3天生效;
· 2:小时级提交,1小时内生效
0
url_list string 小程序path集合,多个path用逗号分隔。
· 天级提交配额根据提交活跃度和资源质量进行调节,具体以平台显示为准;
· 周级提交配额每日上限为5W条,每次提交上限为3000条。
/pages/index1?id=1,/pages/index2

第三,返回结果说明:

1、正确的结果:

{
"errno": ,
"msg": "success"
}

2、若出现错误,则会返回错误提示:错误码说明:

错误码 错误描述
0 成功
-1024 业务异常
500 对不起,服务器出错了,请稍候再试
2002 小程序不存在/选择的收录级别不合法/url数量不合法
30001 参数有误
30013 数量超上限
47005 文件上传失败
60005 尚未绑定熊掌ID,请先绑定熊掌ID

官方提供几种语言的demo代码,比如 java,python,php,接下来我用c#代码实现相关的功能:

第1步:是获取access_token值:

 string App_Key = "GUsp9GbxpfZNpnp1DjR1GrG2zGwGLhq2";

            string App_Secret = "百度小程序的app_secret值";

            string url = "https://openapi.baidu.com/oauth/2.0/token";
string param = $"grant_type=client_credentials&client_id={App_Key}&client_secret={App_Secret}&scope=smartapp_snsapi_base";
string ret = Utils.HttpPost(url, param);
this.lblAccessToken.Text = ret;
Utils.HttpPost里的方法如下:
  /// <summary>
/// HTTP POST方式请求数据
/// </summary>
/// <param name="url">URL.</param>
/// <param name="param">POST的数据</param>
/// <returns></returns>
public static string HttpPost(string url, string param)
{
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.Accept = "*/*";
request.Timeout = ;
request.AllowAutoRedirect = false; StreamWriter requestStream = null;
WebResponse response = null;
string responseStr = null; try
{
requestStream = new StreamWriter(request.GetRequestStream());
requestStream.Write(param);
requestStream.Close(); response = request.GetResponse();
if (response != null)
{
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
responseStr = reader.ReadToEnd();
reader.Close();
}
}
catch (Exception)
{
throw;
}
finally
{
request = null;
requestStream = null;
response = null;
} return responseStr;
}

access_token获取成功后,开始我们的url资源提交了。根据自家小程序页面path以及参数,提交相应的资源。多条记录用逗号隔开。

        /// <summary>
/// 每次发一批文章给百度小程序。
/// </summary>
/// <param name="alist">alist的条数不要超过每次的上限。</param>
/// <returns></returns>
private string SendToBaiDu(int type, List<Model.article_id> alist)
{
string ret = "";
string ACCESS_TOKEN = "24.9ebc57a8f3b00375b8bb0ee59892ce52.2592000.1584192924.282335-18403980";
string postUrl = "https://openapi.baidu.com/rest/2.0/smartapp/access/submitsitemap/api"; string param = "access_token=" + ACCESS_TOKEN;
StringBuilder sb = new StringBuilder("");
sb.Append("&type="+ type);
sb.Append("&url_list=");
for (int i = ; i < alist.Count(); i++)
{
if (i != alist.Count() - )
{
sb.Append("pages/detail/detail?query=" + alist[i].id + ",");
}
else
{
sb.Append("pages/detail/detail?query=" + alist[i].id);
} } param += sb.ToString();
ret = Utils.HttpPost(postUrl, param); return ret;
}

到此就成功提交了,但是要记得每天的上限以及每次提交记录的上线。

花絮:

在开发调试过程中,遇到一个非常奇怪的现象,不管用什么方式提交资源,百度接口总会返回“47005文件上传失败”。一直以为是自己的代码问题,排查了好久没有解决。决定是官方论坛发帖求助,(入口),结果令人惊奇的发现,这个根据就不是我代码的bug,而是百度官方的接口返回有问题,等了大天,百度官方才修复了这个bug 。 所以,调用第3方接口,遇到诡异现象,有可能真的是第3方的问题。

 

本文为沐雪原创文章,欢迎转载,转载请标注来源。谢谢。

参考文献:

https://smartprogram.baidu.com/docs/introduction/rank_api/

http://www.zyiz.net/tech/detail-106433.html

百度小程序-接入自然搜索-API提交Url-c#开发的更多相关文章

  1. 百度小程序-form表单点击提交,input框内容不会清空

    百度小程序与微信小程序相似度90%.微信小程序转换为百度小程序,部分还是需要人工修改! 做了一个form留言表单,点击提交之后,input框第一次会清空,但是第二次就不会清空了! 不多说直接上代码! ...

  2. 百度小程序-map组件定位

    给客户开发一个百度小程序,有个地图定位显示.百度小程序内置的api地图是不准的,通过百度一下,查询到坐标偏移算法公式,自己项目中使用,手机测试坐标已经正常显示! 经纬度,通过百度坐标拾取器拾取到! . ...

  3. 微信小程序接入百度OCR(身份证识别)

    微信小程序接入百度OCR(身份证识别) 1.接口描述 支持对二代居民身份证正反面所有8个字段进行结构化识别,包括姓名.性别.民族.出生日期.住址.身份证号.签发机关.有效期限,识别准确率超过99%:同 ...

  4. 微信小程序接入百度统计

    一. 百度统计添加应用,获取appkey和微信小程序统计sdk: 1. 百度统计首页,点击“我的全部应用”右侧的添加按钮: 2. “应用类型”选择小程序统计,选择微信小程序,填写应用名称信息,选择内容 ...

  5. 微信小程序转换为百度小程序

    据粗略预估,微信小程序和百度小程序,有至少90%以上的相似代码,而且api的参数和返回的数据都是一致的,有一些不一致的将做如下介绍:.wxml文件,改成后辍名.swan.wxss文件,改成后辍名为.c ...

  6. 微信小程序转百度小程序代码

    听说百度小程序开始出现手机端搜索流量,作为SEO一员,必须搞他.但是又奈何之前做的都是微信小程序,所以用php写了一个微信小程序转百度小程序代码. 修改文件后缀名 .wxml转换为.swan .wxs ...

  7. 小程序接入云通信IM

    小程序接入云通信IM--插件 小程序微信后台搜索AI情报官组件即可获得小程序云通信IM的即时通信能力

  8. 如何申请百度小程序的appid(目前不支持个人账号申请)

    一.搜索百度智能小程序,并使用百度账号登陆 填写相关资料进入审核阶段,审核成功即可进入百度小程序开发者后台.打开“智能小程序首页”-“设置”-“开发设置”, 查看百度小程序的 AppID

  9. 逐浪CMS+百度小程序开源包发布-对接海量资源助力推广

    接入百度小程序海量流量就在使用Zoomla!逐浪CMS开发栈 这里有最强的CMS内核依托于国家高新企业Zoomla!逐浪之上 这里有最海量的用户流量依托于百度小程序 这里有最开放的技术栈 这里有最卓越 ...

随机推荐

  1. 如何安装部署和优化Tomcat?(Tomcat部署和优化与压测,虚拟主机配置,Tomcat处理请求的过程)

    文章目录 前言 一:Tomcat安装部署 1.1:Tomcat简介 1.2:Tomcat核心组件 1.3:Tomcat处理请求的过程 1.3.1:请求过程基本解释 1.3.2:请求过程详细解释 1.4 ...

  2. NB-IoT的介绍最终版 !看明白了吗?(转自 top-iot)

    标签: NB-IOT 1  1G-2G-3G-4G-5G 不解释,看图,看看NB-IoT在哪里? 2  NB-IoT标准化历程 3GPP NB-IoT的标准化始于2015年9月,于2016年7月R13 ...

  3. 利用DOCKER实现云桌面的开发环境初步设想

    想法阶段,持续更新中 一.准备一台开发专用服务器 二.建立企业私有镜像仓库 三.建立开发环境镜像并提交到私有镜像仓库 开发镜像的要求: 1.安装vnc服务,ssh服务 vnc密码的设定 2.安装开发环 ...

  4. LeetCode简单题(二)

    题目一: 给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的 ...

  5. 记录下 k8s (1.14.2)使用kubeadm方式搭建和rancher搭建需要的镜像清单

    kubeadm方式 之前一直用的1.12.2版本的,最近想试一下新的版本1.14.2 当然相应的组件镜像版本也需要更新了.镜像版本如下(网络插件使用flannel) k8s.gcr.io/kube-p ...

  6. MAC97A6检测

  7. Codeforces Round #586 (Div. 1 + Div. 2)E(拓扑排序,思维)

    #include<bits/stdc++.h>using namespace std;int n,m,s; vector<int>edge[200007];queue<i ...

  8. 从零开始-建站前的准备之django数据库创建的问题

    稍微熟悉了一下django里面对于数据的操作,发现遇见了好多的问题. django对数据的操作是代码式的操作. 一开始在models里面开始为某个表创建参数,像username,password这样的 ...

  9. CSP-201609-4 交通规划

    问题描述 G国国王来中国参观后,被中国的高速铁路深深的震撼,决定为自己的国家也建设一个高速铁路系统. 建设高速铁路投入非常大,为了节约建设成本,G国国王决定不新建铁路,而是将已有的铁路改造成高速铁路. ...

  10. zabbix通过ipmi传感器监控浪潮服务器的硬件信息

    一:实验对象 操作系统版本:centos7.6 监控对象:通过服务器传感器获取到的所有在使用的硬件信息 zabbix版本: 4.0.14二:zabbix介绍 zabbix适合中小型企业.大型企业的用户 ...