• 朝阳消防联合快递行业开展消防安全宣传培训系列活动 2019-04-05
  • 期待已久的桃花运 竟然可以穿出来?! ——凤凰网房产广州 2019-04-05
  • 中关村雍和航星科技园,北京中关村雍和航星科技园 2019-03-22
  • 潇湘玉竹版主辛苦了! 2019-02-13
  • 端午新经济体验无处不在 “指尖端午”玩出新花样 2019-02-13
  • 工信部:鼓励婴幼儿配方乳企质量安全追溯体系建设 2018-12-30
  • "状态 开发实现方面已经完成,正式发布! 如果你想开发客户端,请参考[链接] B3log 构思 [链接]目前已经基本实现, [链接]、[链接] 和[链接]已经可以进行帖子、回帖内容交互: 使用博客发布文章、评论会自动推送到黑客派社区 在黑客派社区上发布帖子、回帖也会自动推送到博客 这样可以为博主带来更多的关注和互动。 内 .."

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

    状态

    B3log 构思

    B3log 构思目前已经基本实现, Solo、Pipe天中图库好运财新福已经可以进行帖子、回帖内容交互:

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

    内容 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": "//xxx.www.zpvv.net", 
            "name": "Solo", 
            "ver": "3.0.0", 
            "userName": "88250", 
            "userB3Key": "xxxx"
        }
    }
    

    博客发布评论推送社区

    调用地址

    参数

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

    {
        "www.zpvv.netment": {
            "id": "1165070220000", 
            "parentId": "", 
            "articleId": "1164070220000", 
            "content": "Test www.zpvv.netment", 
            "authorName": ""
        }, 
        "client": {
            "title": "我的个人博客", 
            "host": "//xxx.www.zpvv.net", 
            "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 格式的实参:

    {
        "www.zpvv.netment": {
            "articleId": "", 
            "parentId": "",
            "content": "", 
            "contentHTML": "", 
            "authorName": "", 
            "authorURL": "", 
            "authorAvatarURL": "", 
            "isArticleAuthor": true, 
            "time": 1457784330398
        },
        "client": {
            "userName": "",
            "userB3Key": ""
        }
    }
    

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

    使用须知

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

    已接入的博客系统

    • 系统公告

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

      35 引用 ? 3077 回帖 ? 667 关注
    • Rhy
      1 引用 ? 140 回帖
    • Sym

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

      368 引用 ? 3870 回帖 ? 647 关注
    • B3log

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

      2429 引用 ? 3804 回帖 ? 623 关注
    感谢    关注    收藏    赞同    反对    举报    分享
    136 回帖    
    请输入回帖内容...
    • noah ?   1 感谢      

      想法不错

      感谢    赞同    反对    举报    分享       评论    回复
    • zempty ?   1 感谢      

      其实我想问,在初始化 solo 帐号的时候用的是一个邮箱,后期通过修改数据库换成另外的邮箱,是否设置同步就没效了?

      感谢    赞同    反对    举报    分享       评论    回复
    • 88250 ?      

      @zempty 千万不要手动修改数据库…. 不然很多未知问题的

      感谢    赞同    反对    举报    分享       评论    回复
    • R ?   1 感谢      

      搞一个 CSDN 这样的首页——全球最大 IT 和画家社区! ??

      感谢    赞同    反对    举报    分享       评论    回复
    • 88250 ?      

      @R 要搞就搞全宇宙 ??

      感谢    赞同    反对    举报    分享       评论    回复
    • R ?      

      @88250 宇宙人不用网络交流的,用脑电波直接发信号的

      感谢    赞同    反对    举报    分享       评论    回复
    • zempty ?      

      @88250 遇到了,改了之后,之前的文章不能删除,同步功能失效。

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

      @zempty 社区这边的邮箱倒是可以改,管理员可改,你需要么?

      感谢    赞同    反对    举报    分享       评论    回复
    • zempty ?      

      @88250 可以吗?帮我改为新的,不然我永远都无法从 solo 同步文章到社区了。怎样发私信???

      感谢    赞同    反对    举报    分享       评论    回复
    • 88250 ?      

      @zempty 到我的主页上面,然后头像下面

      感谢    赞同    反对    举报    分享       评论    回复
    • hfu946 ?   1 感谢      

      神奇的功能 ~

      感谢    赞同    反对    举报    分享       评论    回复
    • mainlove ?      

      好 调一下

      感谢    赞同    反对    举报    分享       评论    回复
    • zonghua ?      

      写个 Wordpress 的插件?

      感谢    赞同    反对    举报    分享       评论    回复
    • 88250 ?      

      @zonghua 我不会,你来帮忙么

      感谢    赞同    反对    举报    分享       评论    回复
    • 88250 ?      

      @mainlove Y,帮忙一下啊

      感谢    赞同    反对    举报    分享       评论    回复
    • zonghua ?      

      @88250 若干小时后应该可以完成插件

      感谢    赞同    反对    举报    分享       评论    回复
    • 88250 ?      

      @zonghua 还有个收评论的接口我整理一下

      感谢    赞同    反对    举报    分享       评论    回复
    • DT27 ?      

      @88250 社区同步到博客的数据格式列一下 ~

      感谢    赞同    反对    举报    分享       评论    回复
    • 88250 ?      

      @DT27 @zonghua

      好的,稍后我整理一下博客收文章、更新文章、收评论的接口规范

      感谢    赞同    反对    举报    分享       评论    回复
    • ivan ?      

      感谢    赞同    反对    举报    分享       评论    回复
    • ivan ?      

      感谢    赞同    反对    举报    分享       评论    回复
    • 88250 ?      

      @ivan 嗯?

      感谢    赞同    反对    举报    分享       评论    回复
    • ivan ?   1 感谢      

      @88250 试了下录音功能

      感谢    赞同    反对    举报    分享       评论    回复
    • zonghua ?      
      感谢    赞同    反对    举报    分享       评论    回复
    • zonghua ?      

      @zonghua 都是 null

      `function post_article($post_id, $post, $update){test($update); }

      function update_article($post_ID, $post_after, $post_before){test($post_before); } `

      感谢    赞同    反对    举报    分享       评论    回复
    • 88250 ?      

      @zonghua 啥情况?

      感谢    赞同    反对    举报    分享       评论    回复
    • DT27 ?      

      @88250 就等博客接收数据的接口了。。。

      感谢    赞同    反对    举报    分享       评论    回复
    • 88250 ?      

      @DT27 好的,我今天内整理出来,发布的接口调试通了?

      感谢    赞同    反对    举报    分享       评论    回复
    • DT27 ?      

      @88250 写好了,还没测,调试方面不太会,只会上线实测。。。

      感谢    赞同    反对    举报    分享       评论    回复
    • 88250 ?      

      @DT27 你是担心发布测试数据到社区还是?

      感谢    赞同    反对    举报    分享       评论    回复
    • DT27 ?      

      @88250 是啊,感觉不太好 ?? ,要是没关系我就试试。

      感谢    赞同    反对    举报    分享       评论    回复
    • 88250 ?      

      @DT27 没关系的,随便测吧! 测试的时候加个 [Sandbox] 标签就行

      感谢    赞同    反对    举报    分享       评论    回复
    • DT27 ?      

      @88250 ??

      感谢    赞同    反对    举报    分享       评论    回复
    • 88250 ?      

      @DT27 收评的接口规范整理好了,你看下是否合理

      感谢    赞同    反对    举报    分享       评论    回复
    • DT27 ?      

      @88250 看到了,没问题。正在做。 后面考虑回复评论关联不 ??

      感谢    赞同    反对    举报    分享       评论    回复
    • 88250 ?      

      @DT27 回复评论关联是指的?

      感谢    赞同    反对    举报    分享       评论    回复
    • DT27 ?      

      @88250 比如社区里我回复你,博客里也同步为我回复你的评论。

      感谢    赞同    反对    举报    分享       评论    回复
    • 88250 ?      

      @DT27 哦,这个估计关联不了,因为两边评论数据的 id 是独立的,除非两边都存原始评论的 id

      感谢    赞同    反对    举报    分享       评论    回复
    • DT27 ?      

      @88250 嗯,明白了。

      感谢    赞同    反对    举报    分享       评论    回复
    • DT27 ?      

      @88250 帮我看下评论同步到博客。我直接用下面的 js 模拟是没问题的。但是从社区从不过去内容链接作者都是空白。。。

      $.ajax({ type: “POST”, url: “https://dt27.org/b3log-天中图库好运财新福 www.zpvv.netment”, contentType: “application/json; charset=utf-8”, data: ‘{“www.zpvv.netment”:{“articleId”:“1324”,“content”:“评论 test”,“authorName”:“DT27”,“authorEmail”:“[email protected]”,“authorURL”:“https://dt27.org”},“client”:{“key”:“XXXXXXXX”}}’, dataType: “json”, success: function (message) {if (message > 0) {console.log(message); } }, error: function (message) {console.log(message); } });

      感谢    赞同    反对    举报    分享       评论    回复
    • DT27 ?      

      @88250 这是我接收到的社区同步到博客的数据:参数名跟你给的不一样,而且里面 content 是空的。email 也不对。

      {“client”:{“key”:“XXXXXX”},“www.zpvv.netment”:{“www.zpvv.netmentAuthorEmail”:“DT27”,“content”:"",“www.zpvv.netmentAuthorURL”:“https://dt27.org”,“www.zpvv.netmentAuthorName”:“DT27”,“articleId”:“1324”}}

      感谢    赞同    反对    举报    分享       评论    回复
    • 88250 ?      

      @DT27 收到,明天早上看

      感谢    赞同    反对    举报    分享       评论    回复
    • zonghua ?      

      @88250 wordpress 的插件

      感谢    赞同    反对    举报    分享       评论    回复
    • zonghua ?      

      @88250 wordpress 的插件方法获取不到变量

      感谢    赞同    反对    举报    分享       评论    回复
    • 88250 ?      

      @zonghua 我不会玩 [WordPress] ..

      感谢    赞同    反对    举报    分享       评论    回复
    • 88250 ?      

      @DT27 评论发布客户端的接口应该修复了,请帮忙验证 ~

      感谢    赞同    反对    举报    分享       评论    回复
    • DT27 ?   1 感谢      

      @88250 没问题了。

      感谢    赞同    反对    举报    分享       评论    回复
    • 88250 ?      

      @DT27

      1. 博客同步内容到社区格式的问题等周末处理
      2. 评论从社区到博客后用户名和内容都变小写了,你那边特殊处理过么?
      感谢    赞同    反对    举报    分享       评论    回复
    • DT27 ?      

      @88250
      1. 好的。
      2. 确实是我处理过了,因为我这边获取时,我发现参数名区分大小写,然后之前从社区获取到的参数名都是小写的,所以就直接全部转为小写了,忘了还会影响内容了 = =、马上修正。

      感谢    赞同    反对    举报    分享       评论    回复
    • someone1101 ?    

      同步回评论系统的时候不给 IP 和 User-Agent 合适吗?

      感谢    赞同    反对    举报    分享       评论    回复
    请输入回帖内容...
  • 朝阳消防联合快递行业开展消防安全宣传培训系列活动 2019-04-05
  • 期待已久的桃花运 竟然可以穿出来?! ——凤凰网房产广州 2019-04-05
  • 中关村雍和航星科技园,北京中关村雍和航星科技园 2019-03-22
  • 潇湘玉竹版主辛苦了! 2019-02-13
  • 端午新经济体验无处不在 “指尖端午”玩出新花样 2019-02-13
  • 工信部:鼓励婴幼儿配方乳企质量安全追溯体系建设 2018-12-30