1. 程式人生 > >JAVA開發---微信文章留言功能實現

JAVA開發---微信文章留言功能實現

概述

最近應公司需求,對微信文章留言功能進行開發,然而由於微信文件描述賊簡單,所以遇坑不斷,特在此整理一下以便各位少走彎路。

1. 留言功能開通

首先,公眾號需要具備可以進行留言的資格,如果你的公眾號開通了原創功能,那麼留言也就自然而然的開通了,留言屬於原創功能的附屬功能。公眾號的原創功能是微信官方主動邀請開通的,不能自己申請。如果你的公眾號並沒有原創功能,那麼就沒必要考慮留言功能了-.-

下面說下微信官方對於原創功能開通的條件:

  1. 需要已運營了一定的時間,因為微信團隊需要時間去評判釋出的內容是否高質量,是否屬於原創;
  2. 運營者需要在微信公眾平臺上保持一定的活躍度;
  3. 原創文章需要一定的數量,要有持續的輸出;
  4. 原創的程度,微信系統會比對平臺上所有歷史、現在創造的文章,看看是否原創;
  5. 不能有抄襲等違規歷史,這個非常重要。有很多申請原創保護的帳號,儘管現在在創作一些內容,但以前有抄襲歷史,微信也會重視評判;
  6. 遵守原創規則。

簡單點說就是:註冊時長+活躍度+原創文章數量+原創程度

一般情況下,保持原創推送一兩個月就可以收到微信的邀請了

2. 介面變更

這一點微信文件裡寫的很清楚,要注意之前的圖文素材相關的介面都需要加上兩個引數。need_open_comment 和 only_fans_can_comment。這裡提一下,就不多說了。

3.檢視指定文章的留言資料介面

留言開通,關閉,回覆,刪除介面都沒問題,按文件來就行。下面說下獲取文章留言獲取介面,這是微信留言文件裡面最大的坑。

先說返回值吧,文件裡的返回值亂的一批,剛開始看絕對一臉懵逼。我這裡把我測試用的返回粘上供大家參考。

{
  "errcode": 0,
  "total": 49,
  "errmsg": "ok",
  "comment": [
    {
      "user_comment_id": 66,
      "create_time": 1525421781,
      "comment_type": 1,
      "openid": "og33QsgCon_1RlXY7-XyZfJs",
      "reply": {
        "create_time": 1525675194
, "content": "啦啦啦" }
, "content": "啦啦啦啦啦啦啦" }, ..... { "user_comment_id": 15, "create_time": 1525337621, "comment_type": 0, "openid": "og33QsgCon_1RlXY7-XyZfJs", "content": "拉拉阿拉蕾" } ]
}

返回json就如上所示,其中total這個欄位不是這篇文章的留言總數量,而是你這次介面請求得到的留言數量,這點需要注意。還有返回的json中的時間都是時間戳,需要進行轉換。comment數組裡存放的是根據留言時間進行倒序排序的留言。這關係到請求引數begin,需要留意下。user_comment_id 這個欄位是從1開始遞增的,刪除留言不會影響遞增順序。

接下來是請求引數

這裡寫圖片描述
請求引數問題不大,需要注意的是begin這個引數,begin相當於comment陣列的索引開始值,所以當begin為0的時候,就會從最新的留言開始獲取。count不能>=50,說明一次最多取49條資料。

以上便是請求微信文章留言資料需要注意的了。別的暫時沒有發現。

4.修改回覆介面

產品寫的文件中提到了修改回覆這個功能,微信目前並沒有提供修改回覆的介面,所以我做的就是分開處理,先刪除之前的回覆,再新增新的回覆。這裡需要注意一點,如果你在新增新的回覆失敗後,之前刪掉的回覆不能回滾,這塊需要謹慎處理。

5.總結

微信提供的這個留言文件整體上來說還算詳細,但也是遇坑不斷。可能會有其他的坑我沒發現,以後會慢慢完善。