"状态 开发实现方面已经完成,正式发布! 如果你想开发客户端,请参考 [链接] B3log 构思 [链接]目前已经基本实现, [链接]、[链接] 和[链接]已经可以进行帖子、回帖内容交互: 使用博客发布文章、评论会自动推送到黑客派社区 在黑客派社区上发布帖子、回帖也会自动推送到博客 这样可以为博主带来更多的关注和互动。 .."

内容 API 开放,欢迎各位独立博客主进行连接

状态

B3log 构思

B3log 构思目前已经基本实现, SoloPipe黑客派已经可以进行帖子、回帖内容交互:

这样可以为博主带来更多的关注和互动。

内容 API

核心内容 API 一共有 4 个。前 2 个 API 由社区实现,提供给博客进行调用;后 2 个由博客实现,提供给社区进行调用:

  1. 博客发布 / 更新文章 -> 社区发布 / 更新帖子
  2. 博客发布评论 -> 社区发布回帖
  3. 社区发布 / 更新帖子 -> 博客发布 / 更新文章
  4. 社区发布回帖 -> 博客发布评论

账号关联

如果一切顺利,你的博客账号和社区账号就自动设置了相同的用户名和 B3 Key 了,然后再完成 B3 同步设置就完成关联账号了。

关联账号的核心要义就是用户名和 B3 Key 必须相同,因为后续的数据交互是通过用户名和 B3 Key 进行校验的。

API 规范

上面我们介绍了基本原理,下面就是各个 API 的详细描述了。

博客发布 / 更新文章推送社区

发布文章和更新文章使用相同的 API,如果 article.id 已经存在则视为更新操作。

调用地址

参数

在 POST body 中指定 JSON 格式的实参:

{
    "article": {
        "id": "1165070220000", 
        "title": "这是一篇测试文章", 
        "permalink": "/test-post", 
        "tags": "Sandbox", 
        "content": "上面请使用 Sandbox 作为标签。"
    }, 
    "client": {
        "title": "我的个人博客", 
        "host": "http://xxx.com", 
        "name": "Solo", 
        "ver": "3.0.0", 
        "userName": "88250", 
        "userB3Key": "xxxx"
    }
}

博客发布评论推送社区

调用地址

参数

在 POST body 中指定 JSON 格式的实参:

{
    "comment": {
        "id": "1165070220000", 
        "parentId": "", 
        "articleId": "1164070220000", 
        "content": "Test comment", 
        "authorName": ""
    }, 
    "client": {
        "title": "我的个人博客", 
        "host": "http://xxx.com", 
        "name": "Solo", 
        "ver": "3.0.0", 
        "userName": "88250", 
        "userB3Key": "xxxx"
    }
}

社区发布 / 更新帖子推送博客

接收文章的接口由博客实现,这里给出的是社区去调用时候的规范。

调用地址

参数

在 POST body 中指定 JSON 格式的实参:

{
    "article": {
        "id": "", 
        "title": "", 
        "content": "", 
        "contentHTML": "", 
        "tags": "tag1,tag2,tag3"
    }, 
    "client": {
        "userName": "", 
        "userB3Key": ""
    }
}

注意:从社区同步帖子到博客时,收文接口实现文章保存后不能再走同步回社区的逻辑。

社区发布回帖推送博客

接收评论的接口由博客实现,这里给出的是社区去调用时候的规范。

调用地址

参数

在 POST body 中指定 JSON 格式的实参:

{
    "comment": {
        "articleId": "", 
        "parentId": "",
        "content": "", 
        "contentHTML": "", 
        "authorName": "", 
        "authorURL": "", 
        "authorAvatarURL": "", 
        "isArticleAuthor": true, 
        "time": 1457784330398
    },
    "client": {
        "userName": "",
        "userB3Key": ""
    }
}

注意:从社区同步评论到博客时,收评接口实现评论保存后不能再走同步回社区的逻辑。

使用须知

从博客同步文章到社区请注意如下规则:

  • 系统公告

    B3log 社区相关的重要公告,比如新特性上线,运营策略调整等。

    33 引用 • 3040 回帖 • 666 关注
  • Rhy
    1 引用 • 140 回帖
  • Sym

    Sym 是一个用 Java 实现的现代化社区(论坛 / 社交网络 / 博客)平台,“下一代的社区系统,为未来而构建”。黑客派就是使用该系统搭建的 ❤️

    350 引用 • 3792 回帖 • 640 关注
  • B3log

    B3log 是一个开源组织,名字来源于“Bulletin Board Blog”缩写,目标是将独立博客与论坛结合,形成一种新的网络社区体验,详细请看 B3log 构思。目前 B3log 已经开源了多款产品:PipeSoloSymWide 等,欢迎大家加入,贡献开源。

    2627 引用 • 4216 回帖 • 632 关注
感谢    关注    收藏    赞同    反对    举报    分享
136 回帖    
请输入回帖内容...
  • 88250 1 感谢              

    😂 欢迎回来看看

    1 回复 
    感谢    赞同    反对    举报    分享       回复
  • zhuhonglin 1 感谢              

    bde4872fb5b24087b79ee2f6978d11fa-image.png

    博客支持 https 以后,点击某一篇博文,chrome 控制台会出现 net::ERR_INSECURE_RESPONSE 报错

    请问这个是怎么回事?

    1 回复 
    感谢    赞同    反对    举报    分享       回复
  • 88250 1 感谢              

    我在你的文章 https://www.zhuhonglin.website/articles/2017/05/13/1494641833030.html 中看了下,没有发现这个问题

    感谢    赞同    反对    举报    分享       回复
  • Airmole      

    没有书单的 API 接口吗?😳

    1 回复 
    感谢    赞同    反对    举报    分享       回复
  • 88250            

    目前是有的看下 https://github.com/b3log/symphony-weapp 这个月我们正在开发【链书】,书单将逐步下线。

    感谢    赞同    反对    举报    分享       回复
  • prymetheus      

    如何将数据响应给页面, 有没有相关描述文章

    感谢    赞同    反对    举报    分享       回复
  • sunsh2015 1 感谢        

    很有意思的内容,持续关注

    感谢    赞同    反对    举报    分享       回复
  • unnunique 1 感谢        

    加油。学习中。

    感谢    赞同    反对    举报    分享       回复
  • leguang          

    该内容仅作者和楼主可见。

    1 回复 
    感谢    赞同    反对    举报    分享       回复
  • 88250            

    Hi,我们有一个用 React Native 写的客户端,不过目前没时间精力去维护了 😂 如果你想开发客户端,可以参考 📝 社区客户端 API 文档 进行开发。

    1 回复 
    感谢    赞同    反对    举报    分享       回复
  • leguang                

    该内容仅作者和楼主可见。

    1 回复 
    感谢    赞同    反对    举报    分享       回复
  • 88250            

    欢迎加入 Sym 社区支持群,群聊号码:17370164
    群文件里面有一个打好包的。

    1 回复 
    感谢    赞同    反对    举报    分享       回复
  • leguang                

    该内容仅作者和楼主可见。

    感谢    赞同    反对    举报    分享       回复
  • mufengcoding      

    @88250 D 大 你那边是如何实现消息实时推送的呀

    1 回复 
    感谢    赞同    反对    举报    分享       回复
  • 88250            

    websocket

    感谢    赞同    反对    举报    分享       回复
  • samye      

    社区版 sym 与 Solo 支持同步吗?

    1 回复 
    感谢    赞同    反对    举报    分享       回复
  • 88250            

    不支持,中间还有个 Rhy 不是开源的。

    1 回复 
    感谢    赞同    反对    举报    分享       回复
  • samye            

    跟 pipe 也不行是吗?

    1 回复 
    感谢    赞同    反对    举报    分享       回复
  • 88250            

    嗯,你看 B3log 构思里面有架构描述。

    1 回复 
    感谢    赞同    反对    举报    分享       回复
  • samye            

    😄 文艺青年,一直没理解你这“Rhythm 节奏”,原来是如此。倒是有点像 discuz 年代的 discuz+ucenter+N

    1 回复 
    感谢    赞同    反对    举报    分享       回复
  • 88250            

    B3log 系的几个主要产品都是和音乐相关来命名的,我要搞一场盛大的演奏 😅

    1 回复 
    感谢    赞同    反对    举报    分享       回复
  • yp          

    动态博客想要连接黑客派的话,发布文章的时候把自己生成的 id 推送了过来,结果跟黑客派其他文章 id 重复了,就会视为更新文章,
    这里是不是有点问题?

    1 回复 
    感谢    赞同    反对    举报    分享       回复
  • 88250            

    理论上不会重复,这边的 id 是单独生成的。

    1 回复 
    感谢    赞同    反对    举报    分享       回复
  • yp          

    好的,在黑客派与动态博客的博主生成的 id 不会冲突的情况下,讲另一种情况

    同时有两个动态博客的博主都希望连接黑客派,都比较懒,生成规则直接使用了 mysql 的自增 id,这时候就会发生冲突

    想了解下,目前连接黑客派的动态博客多吗 ~

    1 回复 
    感谢    赞同    反对    举报    分享       回复
  • 88250            

    是的,这种情况有可能会冲突。目前大概有 1K+ 的博客进行过同步连接。

    感谢    赞同    反对    举报    分享       回复
  • samye      

    连接到 sym 的 ID 肯定是独立生成的,跟外部 blog 的同步过来的文章 id 可以产生对应关系,不作为主键,不就可以避免冲突了么。

    1 回复 
    感谢    赞同    反对    举报    分享       回复
  • yp          

    是这样没错,目前 API 提供的是并不是跟外部 ID 生成一个关联关系,而是直接使用外部 ID

    感谢    赞同    反对    举报    分享       回复
  • someone11732      

    nice!准备为 Halo 实现 B3log 构思。

    1 回复 
    感谢    赞同    反对    举报    分享       回复
  • 88250            

    有任何问题欢迎随时交流。

    感谢    赞同    反对    举报    分享       回复
  • zhaofengshu33      

    safari 浏览器看不到 navigation,chrome 是正常的,不清楚未来 Symphony 系统的前端会不会支持一下。

    2 回复 
    感谢    赞同    反对    举报    分享       回复
  • 88250            

    @Vanessa Safari 还考虑支持吗?

    感谢    赞同    反对    举报    分享       回复
  • zhaofengshu33      

    image.png

    没有对齐?

    1 回复 
    感谢    赞同    反对    举报    分享       回复
  • 88250            

    感谢指出,现在应该好了吧 😅

    感谢    赞同    反对    举报    分享       回复
  • Vanessa            

    一直都支持的
    image.png

    感谢    赞同    反对    举报    分享       回复
  • zhaofengshu33      

    image.png
    @Vanessa 这个显示不出来

    1 回复 
    感谢    赞同    反对    举报    分享       回复
  • Vanessa            

    出得来的,要向下滚动一点
    image.png

    感谢    赞同    反对    举报    分享       回复
请输入回帖内容...