微信公眾號開發(fā)基本流程(超詳細(xì))
時(shí)間:2022-08-06 22:09:01 | 來源:網(wǎng)站運(yùn)營
時(shí)間:2022-08-06 22:09:01 來源:網(wǎng)站運(yùn)營
背景:
過年前后做了個(gè)微信公眾號項(xiàng)目,已經(jīng)過去一段時(shí)間了,抽空回憶總結(jié)下基本流程吧,不然很快估計(jì)自己就忘了。。
微信公眾平臺(tái)官網(wǎng):微信公眾平臺(tái)
文章目錄
一、注冊公眾號
二、了解公眾號管理頁面
三、必備開發(fā)者工具的使用
1.開發(fā)者文檔
2.在線接口調(diào)試工具
3.web開發(fā)者工具
4.公眾平臺(tái)測試賬號
四、細(xì)讀開發(fā)者文檔
五、開發(fā)流程重點(diǎn)解析
1.開發(fā)環(huán)境準(zhǔn)備
2.服務(wù)器基本配置
3.存取access_token參數(shù)
4.公眾號消息管理
5.獲取openid以及網(wǎng)頁授權(quán)(重難點(diǎn))
(1)先明確為什么需要網(wǎng)頁授權(quán)?我們的目的是什么?
(2)既然目的是獲取用戶基本信息,微信不是提供了專門的接口嗎?非要網(wǎng)頁授權(quán)?
微信平臺(tái)提供了兩種方式獲取用戶的openid
(3)網(wǎng)頁授權(quán)有哪幾種機(jī)制?分別是怎樣實(shí)現(xiàn)?應(yīng)用于什么場景?
(4)想要進(jìn)行網(wǎng)頁授權(quán),我們需要在公眾平臺(tái)配置什么嗎?
一、注冊公眾號
首先注冊時(shí)可以看到公眾號有三種類型,個(gè)人用戶大多數(shù)選擇
訂閱號,而企業(yè)用戶一般選擇
服務(wù)號和企業(yè)號。
我們平常大多數(shù)關(guān)注的都是
訂閱號,他們統(tǒng)一都放置在微信應(yīng)用的訂閱號消息列表中,沒有微信支付等高級功能,只是用于發(fā)布文章等基礎(chǔ)功能。
而
服務(wù)號和
企業(yè)號都在會(huì)話列表,和我們的微信好友是同級別的位置,具備微信支付等高級功能,一般是某個(gè)企業(yè)品牌的對外操作窗口,如海底撈火鍋、順豐速運(yùn)等。
我們前期開發(fā)測試只需要
注冊個(gè)人訂閱號即可,真正開發(fā)使用的是開發(fā)者工具里的測試號,具體下面會(huì)說。
真正生產(chǎn)的話,使用的都是經(jīng)過微信認(rèn)證的訂閱號、服務(wù)號、企業(yè)號。
二、了解公眾號管理頁面
我們在微信公眾平臺(tái)掃碼登錄后可以發(fā)現(xiàn)管理頁面左側(cè)菜單欄有豐富的功能:
大概可以分為這幾大模塊:
首頁、功能、小程序、管理、推廣、統(tǒng)計(jì)、設(shè)置、開發(fā)
作為開發(fā)人員,首先應(yīng)該關(guān)注的是設(shè)置、開發(fā)模塊;而作為產(chǎn)品運(yùn)營人員,關(guān)注的是功能、管理、推廣模塊;作為數(shù)據(jù)分析人員,關(guān)注的是統(tǒng)計(jì)模塊。
首先我們不妨各個(gè)功能模塊都點(diǎn)擊看一看,大概了解下我們能做些什么??梢源_認(rèn)的是,這個(gè)微信公眾平臺(tái)當(dāng)然不只是給開發(fā)人員使用的,它提供了很多非技術(shù)人員可在UI界面上交互操作的功能模塊。
如配置消息回復(fù)、自定義菜單、發(fā)布文章等:
這個(gè)時(shí)候我們可能會(huì)想:這些功能好像非技術(shù)人員都能隨意操作,那么還需要我們技術(shù)人員去開發(fā)嗎?
答案是: 如果只是日常簡單的推送文章,就像我們關(guān)注的大多數(shù)公眾號一樣,那確實(shí)不需要技術(shù)人員去開發(fā);但是,如果你想將你們的網(wǎng)站嵌入進(jìn)去公眾號菜單里(這里指的是把前端項(xiàng)目的首頁鏈接配置在自定義菜單),并且實(shí)現(xiàn)微信端的獨(dú)立登錄認(rèn)證、獲取微信用戶信息、微信支付等高級功能,或者覺得UI交互的配置方式無法滿足你的需求,你需要更加自由、隨心所欲的操作,那么我們就必須啟用開發(fā)者模式了,通過技術(shù)人員的手段去靈活控制公眾號。
這里有一點(diǎn)需要注意,如果我們決定技術(shù)人員開發(fā)公眾號,必須啟用服務(wù)器配置,而這將導(dǎo)致UI界面設(shè)置的自動(dòng)回復(fù)和自定義菜單失效!
我們在 開發(fā) - 基本配置 - 服務(wù)器配置 中點(diǎn)擊啟用:
我們團(tuán)隊(duì)就遇到過這種情況:兩個(gè)項(xiàng)目組共用一個(gè)公眾號,結(jié)果一個(gè)啟用了服務(wù)器配置,使另一個(gè)項(xiàng)目組手動(dòng)配置的菜單失效了。所以要注意這點(diǎn)!
至于服務(wù)器配置中的選項(xiàng)代表什么意思、如何填寫,我們下面再講。
三、必備開發(fā)者工具的使用
我們進(jìn)入
開發(fā) -
開發(fā)者工具, 可以發(fā)現(xiàn)微信提供了
六種開發(fā)者工具,其中前四種屬于開發(fā)必備:
開發(fā)者文檔、
在線接口調(diào)試工具、
web開發(fā)者工具、
公眾平臺(tái)測試賬號。
1.開發(fā)者文檔
這個(gè)不用說!在我們開發(fā)中屬于
最最最基礎(chǔ)和重要的東西了,我們要想熟練開發(fā)公眾號,首先必須熟讀開發(fā)者文檔!有些功能的開發(fā)甚至非要反復(fù)研讀、咬文嚼字一番不可。PS:該文檔吐槽的地方也不少,有些地方的確講的不夠明確!
2.在線接口調(diào)試工具
這個(gè)工具也算比較實(shí)用,包含大多數(shù)接口的在線調(diào)試,我們可以直接在上面輸入?yún)?shù),獲取微信服務(wù)端的返回結(jié)果。
3.web開發(fā)者工具
這個(gè)工具是一款桌面應(yīng)用,需要下載,它通過模擬微信客戶端的UI使得開發(fā)者可以使用這個(gè)工具方便地在PC或者M(jìn)ac上進(jìn)行開發(fā)和調(diào)試工作,一般是
前端使用該工具進(jìn)行頁面、接口調(diào)試。
4.公眾平臺(tái)測試賬號
這個(gè)測試號工具對我們的重要性可以說是僅次于開發(fā)者文檔。我們可以創(chuàng)建測試號,無需申請、認(rèn)證真實(shí)的公眾帳號、可在測試帳號中體驗(yàn)并測試微信公眾平臺(tái)所有高級接口。并且所有的配置都可在一個(gè)頁面上編輯,使開發(fā)測試變得極其便利。
四、細(xì)讀開發(fā)者文檔
文檔地址:
https://mp.weixin.qq.com/wiki需要注意的是,細(xì)讀開發(fā)者文檔不是讓你所有模塊都去閱讀,而是重點(diǎn)的重復(fù)細(xì)讀,非重點(diǎn)的選擇性閱讀。
其中前兩個(gè)模塊:開始前必讀、開始開發(fā),屬于重點(diǎn)關(guān)注對象,也是整個(gè)微信開發(fā)的基石所在,需要多讀幾遍。其次是微信網(wǎng)頁開發(fā)模塊的微信網(wǎng)頁授權(quán),比較難理解,需要特別注意。其他的模塊則根據(jù)你們的項(xiàng)目功能需求,有選擇性的閱讀即可。
這里我就不多羅嗦了,大家看文檔去吧!下面我會(huì)描述一些重點(diǎn)內(nèi)容的實(shí)際操作情況以及代碼,請確保你已經(jīng)瀏覽過文檔。
五、開發(fā)流程重點(diǎn)解析
1.開發(fā)環(huán)境準(zhǔn)備
這里所謂的開發(fā)環(huán)境準(zhǔn)備主要指的是我們項(xiàng)目服務(wù)端和微信服務(wù)端的網(wǎng)絡(luò)通訊環(huán)境準(zhǔn)備。
我們平常開發(fā)可能只需要IP端口就能通訊,頂多配置下白名單放行,但微信公眾號開發(fā)我們需要通過域名通訊(微信會(huì)訪問我們配置的域名地址:服務(wù)器基本配置中的URL,下面會(huì)介紹),也就是我們各自開發(fā)環(huán)境需要擁有獨(dú)立的域名,微信就能通過這個(gè)域名請求到我們的本地開發(fā)服務(wù),各自進(jìn)行開發(fā)測試。
而我們一般都是內(nèi)網(wǎng)開發(fā),整個(gè)內(nèi)網(wǎng)只有一個(gè)對外域名,所以這時(shí)就需要 內(nèi)網(wǎng)穿透 ,為我們每個(gè)開發(fā)人員配置各自開發(fā)機(jī)器的域名。
那如何進(jìn)行內(nèi)網(wǎng)穿透呢?你首先可以找下你們的網(wǎng)管,看他能不能幫你解決,如果不能,那就安裝內(nèi)網(wǎng)穿透工具,我們自己動(dòng)手!
我選擇的內(nèi)網(wǎng)穿透工具是natapp,這個(gè)有免費(fèi)版、收費(fèi)版,免費(fèi)版的域名會(huì)隨機(jī)變化,而收費(fèi)版可以擁有固定域名,建議選擇收費(fèi)版,9元每月并不貴;大家可以對照natapp的文檔安裝使用,并不難。
這樣我們本地開發(fā)環(huán)境就擁有自己的域名啦!然后就可以在測試號管理頁面配置本地訪問地址URL了。
2.服務(wù)器基本配置
無論是在真實(shí)公眾號的 開發(fā) - 基本配置 - 服務(wù)器配置,還是在 測試號管理 中,我們都可以看到這幾個(gè)基本參數(shù):
開發(fā)者ID(AppID)、開發(fā)者密碼(AppSecret)、服務(wù)器地址(URL)、令牌(Token)
AppID 是公眾號唯一開發(fā)識別碼,配合開發(fā)者密碼可調(diào)用公眾號的接口能力,大多數(shù)微信接口都需要附帶該參數(shù)。
AppSecret 是校驗(yàn)公眾號開發(fā)者身份的密碼,具有極高的安全性。切記勿把密碼直接交給第三方開發(fā)者或直接存儲(chǔ)在代碼中。如需第三方代開發(fā)公眾號,請使用授權(quán)方式接入。其中獲取accessToken就需要同時(shí)傳入AppID和AppSecret獲取。
URL 是開發(fā)者用來接收微信消息和事件的接口URL,也就是我們服務(wù)后端的入口地址,需要注意的是該地址必須以域名形式填寫,且必須以http 或 https 開頭,分別支持80端口和443端口。如:http://yuanj.natapp1.cc/wechat。
Token 可由開發(fā)者可以任意填寫,用作生成簽名(該Token會(huì)和接口URL中包含的Token進(jìn)行比對,從而驗(yàn)證安全性),也就是我們項(xiàng)目和微信服務(wù)端進(jìn)行通信時(shí),必須保證公眾平臺(tái)配置的Token和我們后臺(tái)代碼配置的Token保持一致,這樣微信就能驗(yàn)證我們身份。
注:EncodingAESKey 參數(shù)由開發(fā)者手動(dòng)填寫或隨機(jī)生成,將用作消息體加解密密鑰,我們前期可以采用明文模式進(jìn)行開發(fā)測試,暫時(shí)先不用關(guān)注。
我們
點(diǎn)擊提交時(shí),微信會(huì)以
GET請求的方式訪問我們配置的URL地址,并
附加幾個(gè)參數(shù)進(jìn)行驗(yàn)證,所以你需要在該地址對應(yīng)的項(xiàng)目后端接口里對這幾個(gè)參數(shù)進(jìn)行
加工處理,
返回微信需要的結(jié)果,這樣就可以驗(yàn)證成功,使
微信服務(wù)端認(rèn)可你配置的URL和Token參數(shù),后續(xù)就能互相通信了!
具體情況可以閱讀
微信文檔 -
開始前必讀 -
接入指南。
這里附上該接口的Java代碼:
/** * 微信對接驗(yàn)證接口 * */@RestController@RequestMapping(value = "/wechat")public class ValidateController { @Autowired WechatConfig wechatConfig; @RequestMapping(value = "", method = RequestMethod.GET) public void validate(HttpServletRequest req, HttpServletResponse resp) { System.out.println("-----開始校驗(yàn)簽名-----"); // 接收微信服務(wù)器發(fā)送請求時(shí)傳遞過來的參數(shù) String signature = req.getParameter("signature"); String timestamp = req.getParameter("timestamp"); String nonce = req.getParameter("nonce"); //隨機(jī)數(shù) String echostr = req.getParameter("echostr");//隨機(jī)字符串 // 將token、timestamp、nonce三個(gè)參數(shù)進(jìn)行字典序排序并拼接為一個(gè)字符串 String TOKEN = wechatConfig.getToken(); String sortStr = sort(TOKEN,timestamp,nonce); // 字符串進(jìn)行shal加密 String mySignature = WechatUtils.shal(sortStr); // 校驗(yàn)微信服務(wù)器傳遞過來的簽名 和 加密后的字符串是否一致, 若一致則簽名通過 if(!"".equals(signature) && !"".equals(mySignature) && signature.equals(mySignature)){ System.out.println("-----簽名校驗(yàn)通過-----"); try { resp.getWriter().write(echostr); } catch (IOException e) { e.printStackTrace(); } }else { System.out.println("-----校驗(yàn)簽名失敗-----"); } } /** * 參數(shù)排序 * @param token * @param timestamp * @param nonce * @return */ public static String sort(String token, String timestamp, String nonce) { String[] strArray = {token, timestamp, nonce}; Arrays.sort(strArray); StringBuilder sb = new StringBuilder(); for (String str : strArray) { sb.append(str); } return sb.toString(); }}
3.存取access_token參數(shù)
access_token是公眾號的全局唯一接口調(diào)用憑據(jù),公眾號調(diào)用各接口時(shí)都需使用access_token。開發(fā)者需要進(jìn)行妥善保存。access_token的存儲(chǔ)至少要保留512個(gè)字符空間。access_token的有效期目前為2個(gè)小時(shí)(7200秒),需定時(shí)刷新,重復(fù)獲取將導(dǎo)致上次獲取的access_token失效。
access_token這個(gè)參數(shù)非常重要,幾乎貫穿整個(gè)微信公關(guān)號項(xiàng)目開發(fā),我們?nèi)绾卧谟行趦?nèi)定時(shí)刷新獲取呢?
如果我們的微信公眾號項(xiàng)目是單服務(wù)架構(gòu),可以直接作為靜態(tài)變量存儲(chǔ)在內(nèi)存里;如果是多服務(wù),可以用中間件存儲(chǔ),Redis、數(shù)據(jù)庫都可以。SpringBoot項(xiàng)目內(nèi)部可以通過@Scheduled注解,執(zhí)行定時(shí)任務(wù),既然access_token有效期是2小時(shí),那我們可以一小時(shí)刷新獲取一次,將其存入Redis,覆蓋之前的access_token。
4.公眾號消息管理
很多公眾號都可以通過
消息發(fā)送來與其進(jìn)行交互,那這樣的功能如何代碼實(shí)現(xiàn)呢?
具體我們可以在
微信文檔 -
消息管理 模塊查閱:
在此我要提到的一點(diǎn)就 微信公眾號的消息交互都是通過XML格式進(jìn)行的!這點(diǎn)就很坑了?!,F(xiàn)在我們前后端、服務(wù)端的消息傳輸基本都是Json格式了,也習(xí)慣了Json格式的解析處理,所以遇到XMl格式的處理又要多費(fèi)些事了。
為什么微信采用XML格式呢?我個(gè)人猜測是幾年前還是XML格式的天下,當(dāng)時(shí)Json還沒有這么流行,騰訊畢竟是產(chǎn)品業(yè)務(wù)驅(qū)動(dòng)的,當(dāng)然選擇當(dāng)時(shí)開發(fā)人員最熟悉的XML格式了開發(fā),后面隨著微信平臺(tái)的普及,用戶越來越多,想重構(gòu)改成Json格式估計(jì)也十分困難,所以歷史就遺留下來了唄。。
我在此推薦一個(gè)GitHub上一個(gè)微信開發(fā) Java SDK,里面有整個(gè)微信開發(fā)平臺(tái)很多功能模塊造好的輪子,我們可以參考下直接使用:
https://github.com/Wechat-Group/WxJava比如現(xiàn)在對于XMl消息解析這個(gè)需求,上面就提供了完整詳盡的代碼。
5.獲取openid以及網(wǎng)頁授權(quán)(重難點(diǎn))
注意,這是公眾號開發(fā)的重難點(diǎn)之一,請把技術(shù)文檔中的微信網(wǎng)頁授權(quán)模塊多讀兩遍,然后帶著疑問來看我的解析。
(1)先明確為什么需要網(wǎng)頁授權(quán)?我們的目的是什么?
答:用戶在微信客戶端中訪問第三方網(wǎng)頁,公眾號可以通過微信網(wǎng)頁授權(quán)機(jī)制,來獲取用戶基本信息,進(jìn)而實(shí)現(xiàn)業(yè)務(wù)邏輯。也就是通過這種授權(quán)機(jī)制,我們能獲取微信用戶信息,比如:頭像、昵稱、地區(qū)、個(gè)性簽名等。
(2)既然目的是獲取用戶基本信息,微信不是提供了專門的接口嗎?非要網(wǎng)頁授權(quán)?
答:在文檔的 用戶管理 - 獲取用戶基本信息(UnionID機(jī)制) 模塊可以看到的確有獲取用戶基本信息接口:
可以看到,這個(gè)接口只需要提供openid或者unionid,即可直接獲取用戶基本信息。那么問題來了,openid(unionid)又是如何獲取呢?
微信平臺(tái)提供了兩種方式獲取用戶的openid
第一種方式:
用戶與公眾號產(chǎn)生消息交互時(shí),會(huì)以POST請求的方式向我們配置的服務(wù)器URL地址發(fā)送XML格式的消息,并附帶該用戶對應(yīng)公眾號的openid!關(guān)于什么是消息交互我們可以查看文檔中的消息管理模塊,比如我們在公眾號輸入欄中發(fā)送文字圖片語音等屬于普通消息交互,我們關(guān)注、取關(guān)、點(diǎn)擊自定義菜單等屬于事件消息交互,每當(dāng)前端用戶進(jìn)行這個(gè)操作時(shí),微信服務(wù)端都會(huì)向我們項(xiàng)目后臺(tái)發(fā)送POST請求給我們傳達(dá)信息:
可以看到,這個(gè)推送數(shù)據(jù)包中就包含了用戶的消息交互類型、時(shí)間以及我們需要的openid!也就是說,無論用戶在公眾號里干了啥操作,我們都能知道他這個(gè)操作干了啥,以及他是誰(openid),這時(shí)就能調(diào)用 用戶管理 - 獲取用戶基本信息(UnionID機(jī)制) 接口獲取用戶基本信息了。
別高興太早,這種通過消息交互獲取用戶信息的方式,用戶占主動(dòng)地位,我們項(xiàng)目后端服務(wù)被動(dòng)接受,那么如果我有個(gè)基本需求:我想在自定義菜單 - 對應(yīng)我們網(wǎng)站的前端頁面上展示微信用戶基本信息,能做到嗎?你如何把后臺(tái)接收到的消息和前端用戶關(guān)聯(lián)綁定?
可見,這種被動(dòng)的方式并不能實(shí)現(xiàn)該功能,我們需要主動(dòng)出擊,在前端就能獲取到當(dāng)前操作用戶的openid!
第二種方式:
這種方式就是通過網(wǎng)頁授權(quán)機(jī)制主動(dòng)出擊!詳情見下文。
(3)網(wǎng)頁授權(quán)有哪幾種機(jī)制?分別是怎樣實(shí)現(xiàn)?應(yīng)用于什么場景?
答:主要有兩種機(jī)制,對應(yīng)兩種scope:
以snsapi_base為scope發(fā)起的網(wǎng)頁授權(quán),是用來獲取進(jìn)入頁面的用戶的openid的,并且是靜默授權(quán)并自動(dòng)跳轉(zhuǎn)到回調(diào)頁的。用戶感知的就是直接進(jìn)入了回調(diào)頁(往往是業(yè)務(wù)頁面)。
以snsapi_userinfo為scope發(fā)起的網(wǎng)頁授權(quán),是用來獲取用戶基本信息的。但這種授權(quán)需要用戶手動(dòng)同意,并且由于用戶同意過,所以無須關(guān)注,就可在授權(quán)后獲取該用戶的基本信息。
光看這兩句解釋你可能有一堆疑問,我們逐一分析:
兩種機(jī)制的前面授權(quán)步驟相同,大概如下:
我們先要按照文檔要求構(gòu)造一個(gè)鏈接:
https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect其中重點(diǎn)參數(shù)是redirect_uri,這個(gè)參數(shù)填的既可以是前端項(xiàng)目url,也可以是后端接口url,然后點(diǎn)擊這個(gè)鏈接后,微信服務(wù)端經(jīng)過重定向到我們填寫的redirect_uri,會(huì)在此redirect_uri后拼接上一個(gè)code參數(shù)!然后前端或者后端通過code參數(shù)就可以調(diào)微信接口
https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code獲取openid等信息了:
這里講下 snsapi_base 和 snsapi_userinfo 的不同點(diǎn):
首先snsapi_base是靜默授權(quán),什么意思呢?就是用戶沒有感知;與之對應(yīng)的就是非靜默授權(quán)的snsapi_userinfo了,這個(gè)scope公眾號會(huì)彈出一個(gè)小窗口,需要用戶手動(dòng)點(diǎn)擊授權(quán),類似這種:
那么這兩種scope授權(quán)的優(yōu)劣勢在哪呢?
snsapi_base 的優(yōu)勢在于用戶無感知,體驗(yàn)好,方便快捷;劣勢在于獲取openid后只能通過用戶管理 - 獲取用戶基本信息(UnionID機(jī)制) 接口獲取用戶基本信息,而這種方式需要確保用戶已經(jīng)關(guān)注,不然是沒有相關(guān)信息的!
snsapi_userinfo 的優(yōu)勢在于無需用戶關(guān)注公眾號,只要用戶點(diǎn)擊了授權(quán)確認(rèn),即可通過access_token和openid調(diào)用專門的拉去用戶信息接口獲取信息,比較暴力。。;劣勢在于需要用戶手動(dòng)授權(quán),可能影響用戶體驗(yàn)。
在此說下,我們項(xiàng)目是通過snsapi_base靜默授權(quán)的,其中redirect_uri配置的是前端項(xiàng)目首頁地址(前后端分離),并將構(gòu)造的這個(gè)鏈接封裝起來,直接配置在自定義菜單里,那么用戶點(diǎn)擊菜單,就直接重定向到前端項(xiàng)目,然后前端獲取code參數(shù)調(diào)用后端獲取openid接口,將獲取的openid緩存到客戶端,以便后面使用。
(4)想要進(jìn)行網(wǎng)頁授權(quán),我們需要在公眾平臺(tái)配置什么嗎?
答:需要!
如果是
測試號,需要在
測試號管理 -
體驗(yàn)接口權(quán)限表 -
網(wǎng)頁服務(wù) -
網(wǎng)頁帳號 點(diǎn)擊
修改。
在這里配置的是回調(diào)頁面即redirect_uri的域名!
順便在這里說一下,我目前是在職Java開發(fā),如果有同學(xué)在學(xué)習(xí)Java的過程當(dāng)中有遇見任何關(guān)于學(xué)習(xí)方法,學(xué)習(xí)路線等方面的問題,你都可以
點(diǎn)擊 加入 Java技術(shù)討論組,這里面聚集了很多正在學(xué)習(xí)Java技術(shù)的初學(xué)者,也有不少從事Java開發(fā)崗的大佬,與Java相關(guān)的問題都可以隨時(shí)發(fā)出來討論。
如果是正式號(需要微信認(rèn)證),需要在 開發(fā) - 接口權(quán)限 - 網(wǎng)頁服務(wù) - 網(wǎng)頁帳號 - 網(wǎng)頁授權(quán)獲取用戶基本信息 的配置選項(xiàng)中,修改授權(quán)回調(diào)域名。請注意,這里填寫的是域名(是一個(gè)字符串),而不是URL,因此請勿加 http:// 等協(xié)議頭;
而且正式號其他配置的地方也和測試號不一樣,比如多了IP白名單、域名根路徑下的txt驗(yàn)證文件,這個(gè)稍微摸索下應(yīng)該沒啥問題的。
原出處:CSDN
原作者:「深寒色的貓丶」
原文鏈接:微信公眾號開發(fā)基本流程
關(guān)鍵詞:基本,流程,詳細(xì),公眾