開發和搭建前所需(仔細必看到頭)
注意!微信公衆號必須爲服務號(絕對不是在訂閱號文件夾裏的那種的,而是直接類似一個微信用戶那種),同時需要微信認證(絕對要認證),訂閱號沒有調用接口的權限,必須是服務號才行。
1:需要管理員在微信公衆平臺登錄(登錄主管理員賬號,或者聯繫主管理員讓其登錄進行)給予開發者:
運營者(小管理員)權限
2:查看 開發-基本設置中:
其中id和secret要記住(沒有就新設置,有千萬別重置),有了這倆才能用接口換token值進行開發
3:修改IP白名單,在已有的基礎上新增自己的,http://ip.qq.com/可以查看自己IP
這樣開發時調用接口纔不會被屏蔽
4:!!!!重點,如果想要調用客服功能(即通過公衆號給某個人發送消息),還需要在功能中開通客服功能才行!
在你之前就已經開通、創建的,可以直接去看 已知信息 了,當然,最好還是接着看。
沒開通的,開通完畢後,不會有客服,需要你自己主動創建一個客服(例如我們創建·文控雲小助手)
創建完畢後編輯,上傳頭像,然後綁定主管理者的微信
!注意,上面的必須做!沒有客服賬號,無法調用發消息接口。
雖然調用接口也可以創建客服,修改客服,但是能手動的不要去打代碼!(因爲懶)
目前已經可以進行發送消息了,不過由於不活躍用戶會出現消息錯誤,我們還需要模板消息發送接口,故而我們還要開通一個功能。
申請通過後,我們還需要設置裏面的模板。
選定心意的模板後,纔可以調用模板接口發送消息,用來給不活躍用戶發送消息。
開發已知所需信息(可能不全)
微信接口開發文檔:
https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1445241432
微信公衆號(服務號):??????????
微信公衆號賬號:??????????????
微信公衆號密碼:??????????
開發者ID(AppID):??????????????
開發者密碼(AppSecret):????????????????
開發第一步
目前已知問題解決的方式
1:access_token因爲太長,如果被複制到別的地方可能會多出空格(比如txt中)
因此,如果access_token調用接口時返回錯誤問題,賦值後一定要查看
access_token中間是否是沒有空格的(有的話刪除,複製到txt中一般會多2個)
2:接口基本都有調用次數,請節省使用,尤其是access_token接口,只有2000次,
如果不清楚具體次數,就要上微信公衆平臺看。
3:用戶信息只能查找到userid和微信暱稱,不能知道用戶的真實姓名
解決辦法,在原項目數據庫中添加一條wxId,然後根據暱稱查詢到微信的id添加到原項目的wxid中,每次發消息調用原數據庫的wxid。
Postman-Eg
15_C1TWfhMJh6v_EgF2GdU667b6j1a4BiSS8RwZwBFiBLHrqr5HDjt0FTWk3e9SOJ-KY3F8lv6Q0WIAv6fOLFhCTny8DBSSWMYDUXoDran4OlCgVvSYsgMa7n2cWqOoU8RAdIp4Wajc766KGaGOFXAhAEAQIL
-------------------查詢從開頭是10000名用戶-----------------------
https://api.weixin.qq.com/cgi-bin/user/get?
access_token=15_C1TWfhMJh6v_EgF2GdU667b6j1a4BiSS8RwZwBFiBLHrqr5HDjt0FTWk3e9SOJ-
KY3F8lv6Q0WIAv6fOLFhCTny8DBSSWMYDUXoDran4OlCgVvSYsgMa7n2cWqOoU8RAdIp4Wajc766KGaGOFXAhAEAQIL&next_openid
=
{
"total": 1, 關注該公衆賬號的總用戶數
"count": 1, 拉取的OPENID個數,最大值爲10000
"data": { 列表數據,OPENID的列表
"openid": [
"odrKA1jUSSXZyfAcRfxVHp_RzA8g"
]
},
"next_openid": "odrKA1jUSSXZyfAcRfxVHp_RzA8g" 拉取列表的最後一個用戶的OPENID
}
-------------eg----根據id獲取用戶信息---------------------------------------------------
https://api.weixin.qq.com/cgi-bin/user/info?
access_token=15_C1TWfhMJh6v_EgF2GdU667b6j1a4BiSS8RwZwBFiBLHrqr5HDjt0FTWk3e9SOJ-
KY3F8lv6Q0WIAv6fOLFhCTny8DBSSWMYDUXoDran4OlCgVvSYsgMa7n2cWqOoU8RAdIp4Wajc766KGaGOFXAhAEAQIL&openid=odrK
A1jUSSXZyfAcRfxVHp_RzA8g&lang=zh_CN
{
"subscribe": 1,
"openid": "odrKA1jUSSXZyfAcRfxVHp_RzA8g",
"nickname": "XXXX",
"sex": 1,
"language": "zh_CN",
"city": "XXX",
"province": "XXXXX",
"country": "中國",
"headimgurl":
"http://thirdwx.qlogo.cn/mmopen/4hJDDPYJRchbMbGdtdL4ZfxmvN5M7okibaQ2MTnjLTllnBH2ibq0QLzUj40Nza4tQBEwhJt
a2rHwnZmDTTbIuQJmrHmIIWOo5f/132",
"subscribe_time": 1541041913,
"remark": "",
"groupid": 0,
"tagid_list": [ ],
"subscribe_scene": "ADD_SCENE_SEARCH",
"qr_scene": 0,
"qr_scene_str": ""
}
--------------------獲取客服-------------------------------------------------------
https://api.weixin.qq.com/cgi-bin/customservice/getkflist?
access_token=15_C1TWfhMJh6v_EgF2GdU667b6j1a4BiSS8RwZwBFiBLHrqr5HDjt0FTWk3e9SOJ-
KY3F8lv6Q0WIAv6fOLFhCTny8DBSSWMYDUXoDran4OlCgVvSYsgMa7n2cWqOoU8RAdIp4Wajc766KGaGOFXAhAEAQIL
{
"kf_list": [
{
"kf_account": "test1@test",
"kf_headimgurl": "",
"kf_id": 2001,
"kf_nick": "文控雲小助手"
}
]
}
--------------------創建一個新的--------------------------------------------------------------
https://api.weixin.qq.com/customservice/kfaccount/add?
access_token=15_C1TWfhMJh6v_EgF2GdU667b6j1a4BiSS8RwZwBFiBLHrqr5HDjt0FTWk3e9SOJ-
KY3F8lv6Q0WIAv6fOLFhCTny8DBSSWMYDUXoDran4OlCgVvSYsgMa7n2cWqOoU8RAdIp4Wajc766KGaGOFXAhAEAQIL
{
"kf_account" : "test1@test",
"nickname" : "XXXX小助手",
"password" : "123456"
}
{
"errcode": 0,
"errmsg": "ok"
}
--------------------發消息-----注意,該方法只能試用活躍用戶,不活躍用戶必須用模板消息的模式,具體我就不多說了-----------------
https://api.weixin.qq.com/cgi-bin/message/custom/send?
access_token=15_C1TWfhMJh6v_EgF2GdU667b6j1a4BiSS8RwZwBFiBLHrqr5HDjt0FTWk3e9SOJ-
KY3F8lv6Q0WIAv6fOLFhCTny8DBSSWMYDUXoDran4OlCgVvSYsgMa7n2cWqOoU8RAdIp4Wajc766KGaGOFXAhAEAQIL
{
"touser":"odrKA1jUSSXZyfAcRfxVHp_RzA8g",
"msgtype":"text",
"text":
{
"content":"你好啊!"
}
}
{
"errcode": 0,
"errmsg": "ok"
}
======重點來了,上述僅僅只是公衆平臺發消息的演示=======
如果需要掃碼登錄如: PC端展示二維碼,用微信掃碼即可獲取用戶信息用於驗證登錄。
此時此刻就需要了解另外一件微信坑爹的事情!
微信公衆平臺 與 微信開放平臺 !!!!
這倆是不一樣的!注意,不一樣的!
具體怎麼不一樣開發過微信對接口的人都知道,能說出一肚子苦水來,我就不一一解說了。
我只想說,如果你想實現:PC端展示二維碼,用微信掃碼即可獲取用戶信息用於驗證登錄。
必須瞭解:snsapi_login,snsapi_base ,snsapi_userinfo 三者之間的區別
後兩者都是公衆平臺提供,只能在移動端使用的掃碼獲取用戶信息,而只有 snsapi_login 權限能夠在PC獲取用戶信息
爲此,我們需要在 微信開放平臺 註冊任意賬號,並且配置 開發者權限及創建應用
然後,上交300塊大洋給賬號,才能調用 snsapi_login 相關接口,實現PC端掃碼登錄!
詳情需要上網搜關鍵字,就能得到完整答案,我只是給看管提個醒。
注意,一定要區分: 微信公衆平臺 與 微信開放平臺 !!!!
=====================End=====================================