JAVA開發---微信文章留言功能實現
概述
最近應公司需求,對微信文章留言功能進行開發,然而由於微信文件描述賊簡單,所以遇坑不斷,特在此整理一下以便各位少走彎路。
1. 留言功能開通
首先,公眾號需要具備可以進行留言的資格,如果你的公眾號開通了原創功能,那麼留言也就自然而然的開通了,留言屬於原創功能的附屬功能。公眾號的原創功能是微信官方主動邀請開通的,不能自己申請。如果你的公眾號並沒有原創功能,那麼就沒必要考慮留言功能了-.-
下面說下微信官方對於原創功能開通的條件:
- 需要已運營了一定的時間,因為微信團隊需要時間去評判釋出的內容是否高質量,是否屬於原創;
- 運營者需要在微信公眾平臺上保持一定的活躍度;
- 原創文章需要一定的數量,要有持續的輸出;
- 原創的程度,微信系統會比對平臺上所有歷史、現在創造的文章,看看是否原創;
- 不能有抄襲等違規歷史,這個非常重要。有很多申請原創保護的帳號,儘管現在在創作一些內容,但以前有抄襲歷史,微信也會重視評判;
- 遵守原創規則。
簡單點說就是:註冊時長+活躍度+原創文章數量+原創程度
一般情況下,保持原創推送一兩個月就可以收到微信的邀請了
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.總結
微信提供的這個留言文件整體上來說還算詳細,但也是遇坑不斷。可能會有其他的坑我沒發現,以後會慢慢完善。