如何同步网站文章到百家号

#others

2019-02-25 udpate:

连着每天试了几次,每天都是不同的文章,一直返回成功,但是平台上就是看不到,建议还是手动发布图文,感兴趣的可以看下各个坑。


之前通过搜索资源平台提交数据到手百,还是很方便的。最近眼看着手百客户端逐渐下掉了熊掌号之前推送的文章,只留下了个人博客唯一一个入口。因此研究了下如何把网站文章自动同步到百家号。

具体可以参考开发者文档,提供了一个将富文本推送到百家号平台的机制。

文档本身还是很简单的,甚至有些简陋,可以参考这个例子.

这里主要介绍下几次留言咨询了解到的坑:

  1. content 必须是富文本格式
  2. cover_imags 必须经过 json_encode,例如 python 代码:json.dumps(cover_images).replace('/', '\/')
  3. 返回成功{"data":{"article_id":1626069585315301665},"errno":0,"errmsg":"success"},但是在百家号平台看不到,而且”今日可发文数”没有受到影响,说明没有发布成功。咨询百家号客服,说是需要专业的开发人员😶,之后到反馈页面提交 bug,回复肯定发布成功了。算了,放弃咨询了。
没有加cover_images
{"data":{"article_id":1625503342330909300},"errno":0,"errmsg":"success"}
发文数限制
{"data":[],"errno":60001009,"errmsg":"empty publish num"}
字数超限,返回成功,但是一直没有查到
{"data":{"article_id":1625585662479024390},"errno":0,"errmsg":"success"}
再发一篇还是返回成功:
{"data":{"article_id":1625586322314290633},"errno":0,"errmsg":"success"}

效果上,网站文章推送后,在百家号上的展示效果:

https://mbd.baidu.com/newspage/data/landingshare?context=%7B%22nid%22%3A%22news_9256745654941156081%22%2C%22sourceFrom%22%3A%22bjh%22%2C%22url_data%22%3A%22bjhauthor%22%7D

比较差,可以后续根据效果贴着百家号的要求优化,目前发现不支持外链,不支持代码格式等。

此处是分隔线,说下这次接入百家号开发者API的感受。

发布接口需要提供的两个参数,一个是 content(网页内容),一个是 origin_url(网页地址),这两个参数对用户并不友好,比较好的接入体验应该是用户只提供网页地址,手百收到后抓取网页具体内容,然后转换为手百支持的富文本格式。没有采用这条流程的原因,无非有两种:

  1. 这套提交流程对补充手百内容不重要
  2. 内部流程复杂

其实这套流程的难度并不高,无论是curl简单抓取,还是js渲染,门槛都不算高,特别是百度以搜索起家,抓取服务不是问题。如果组织结构不复杂,跨组协同成本可控的话,我会更推荐尝试下自动抓取的方案,节省用户接入成本,避免一直靠猜手百支持什么标签。而对于spider,要支持的抓取需求也会很多,如果是小公司,信息透明,优先级容易判断,到了大公司,一层层传递,结果就不好说了。换做PM的角度,确实也很难做判断,最后容易索性先不考虑API的使用复杂度。小公司出东西快,大概也有这个原因。

开放 or 封闭?现在很多平台都是打着开放的名义,实际逐渐封闭做闭环。百家号指数里明确说明了:

● 鼓励手动发布内容,并积极参加平台活动。

所以看起来并不支持这种站点文章数据同步的形式,我们姑且放下开放封闭孰对孰错,对于站长来讲,如果后续希望获取更多流量(收益),封闭是趋势。各大内容平台,都重点推在线编辑、发布图文的平台,百家号明显是深谙此道的。而对于我们,确实有些后知后觉了。