微信公眾平臺(tái)開(kāi)發(fā)者常見(jiàn)問(wèn)題方法集錦
微信公眾號(hào)開(kāi)發(fā)新手總會(huì)碰到這樣或是那樣的問(wèn)題,微信公眾平臺(tái)開(kāi)發(fā)者問(wèn)答是一個(gè)微信知識(shí)問(wèn)答的區(qū)域,專注于提供微信應(yīng)用及開(kāi)發(fā)技術(shù)知識(shí)的整理、歸類及檢索。本文主要為大家講解一下微信公眾號(hào)新手常見(jiàn)的一些問(wèn)題。
新手常見(jiàn)問(wèn)題
問(wèn):我是新手,沒(méi)有開(kāi)發(fā)基礎(chǔ),應(yīng)該如何學(xué)習(xí)微信公眾平臺(tái)的開(kāi)發(fā)?
答:先學(xué)習(xí)PHP和Mysql,可以在網(wǎng)上找相應(yīng)的教程,再學(xué)習(xí)微信公眾平臺(tái)開(kāi)發(fā)入門教程,了解微信收發(fā)消息原理及回復(fù);然后根據(jù)微信開(kāi)發(fā)文檔,熟悉接口,并在此基礎(chǔ)上實(shí)現(xiàn)一些基本的小功能,并擴(kuò)展到更復(fù)雜的功能上。
問(wèn):URL和Token是什么意思?有什么用?我應(yīng)該如何填寫(xiě)?
答:URL是微信接口程序的網(wǎng)址,可以自己開(kāi)發(fā)程序得到或者使用第三方生成的網(wǎng)址。而Token就是一個(gè)令牌,用于微信服務(wù)器與程序進(jìn)行通訊的時(shí)候的身份驗(yàn)證,可以理解為接入微信程序的一把鑰匙。
使用URL是為了讓微信服務(wù)器和程序服務(wù)器進(jìn)行通訊,從而接管并處理用戶發(fā)給程序的消息。當(dāng)填寫(xiě)完URL和Token并啟用的時(shí)候,微信服務(wù)器就會(huì)和程序進(jìn)行一次數(shù)據(jù)校驗(yàn)過(guò)程,認(rèn)證通過(guò)則表明程序沒(méi)有問(wèn)題。
問(wèn):Token驗(yàn)證失敗是什么原因引起的?如何解決?
答:主要原因是程序代碼引起的,比如用了別人的程序?qū)е碌模枰约夯蛘哒以醋髡叱绦虼a
少數(shù)原因是自己的服務(wù)器的問(wèn)題,比如SAE未實(shí)名認(rèn)證,這種情況上傳身份證實(shí)名認(rèn)證一下即可,
極少數(shù)原因是微信服務(wù)器的響應(yīng)問(wèn)題,一般多試幾次即可解決。
問(wèn):公眾賬號(hào)有哪幾種類型?我應(yīng)該選擇哪種?
答:訂閱號(hào)、服務(wù)號(hào)、企業(yè)號(hào)、測(cè)試號(hào)。
媒體及每日需要群發(fā)功能的選擇訂閱號(hào)。
需要有支付功能的企業(yè)選擇服務(wù)號(hào)。
需要做內(nèi)部員工管理,不讓外人關(guān)注的,選擇企業(yè)號(hào)。
新手學(xué)習(xí)開(kāi)發(fā),使用測(cè)試號(hào)。
問(wèn):如何找到微信公眾賬號(hào)下用戶的微信號(hào)?
答:接口無(wú)法獲取,微信也不提供,唯一的方法是想辦法讓用戶告訴你。
問(wèn):?jiǎn)⒂瞄_(kāi)發(fā)者模式之后,我原先設(shè)置的自動(dòng)回復(fù)會(huì)丟失嗎?
答:不會(huì),停用開(kāi)發(fā)者模式之后,就可以看到了。
關(guān)于Access Token
問(wèn):Access Token為什么要有效期?如何自動(dòng)更新Access Token,使其長(zhǎng)期有效?
答:Access Token是一把萬(wàn)能鑰匙,可以調(diào)用很多微信接口的權(quán)限,為了防止別有用心的人得到后無(wú)限制的濫用,所以設(shè)置有效期。如果發(fā)現(xiàn)Access Token有被濫用的跡象,則可能AppID和AppSecret泄漏了,可以重置AppSecret。
有多種技術(shù)上的方法,可以保持Access Token自動(dòng)更新,比如存放到數(shù)據(jù)庫(kù)中,存到緩存中,或存到文件中,具體方法可以看 微信公眾平臺(tái)開(kāi)發(fā)—自動(dòng)更新微信access token。
用戶信息/OpenID/OAuth2網(wǎng)頁(yè)授權(quán)
問(wèn):如何獲得用戶的OpenID?
答:用戶和公眾號(hào)交互的時(shí)候,接收到的XML消息中有FromUserName參數(shù)或OpenID參數(shù),解析取值即可。認(rèn)證服務(wù)號(hào)可以使用Oauth2授權(quán)在網(wǎng)頁(yè)中獲得openid
問(wèn):關(guān)注公眾號(hào)的時(shí)候回復(fù)“歡迎關(guān)注!+用戶的昵稱“和頭像,是怎么實(shí)現(xiàn)的?
答:先得到用戶的OpenID,再使用獲取用戶信息接口可以獲取實(shí)現(xiàn)。
問(wèn):用戶昵稱含有emoji表情導(dǎo)致保存到數(shù)據(jù)庫(kù)時(shí)亂碼,怎么辦?
答:Mysql版本升級(jí)到MySQL 5.5.3及以上,將數(shù)據(jù)庫(kù)的編碼設(shè)置成utf8mb4。
問(wèn):有辦法判斷兩個(gè)公眾賬號(hào)下的某兩個(gè)用戶是否是同一個(gè)人嗎?
答:先將公眾賬號(hào)綁定到微信開(kāi)發(fā)平臺(tái),這樣在獲取用戶信息的時(shí)候,可以得到UnionID。同一用戶,對(duì)同一個(gè)微信開(kāi)放平臺(tái)下的不同應(yīng)用,unionid是相同的。從而可以判斷出是否是同一個(gè)人。
問(wèn):如何實(shí)現(xiàn)OAuth2.0網(wǎng)頁(yè)授權(quán)?有哪些應(yīng)用場(chǎng)合?如何不彈出授權(quán)窗口?
答:實(shí)現(xiàn)OAuth2.0網(wǎng)頁(yè)授權(quán),可以參考微信公眾平臺(tái)開(kāi)發(fā)(71)OAuth2.0網(wǎng)頁(yè)授權(quán)
OAuth2.0網(wǎng)頁(yè)授權(quán)可以用于在網(wǎng)頁(yè)中獲得個(gè)人信息,包括OpenID,昵稱、頭像、城市、性別等。也可以用于判斷用戶是否關(guān)注。
在以下幾種情況下不彈出授權(quán)窗口:已關(guān)注用戶不彈出,未關(guān)注用戶使用snsapi_base作用域方式獲取OpenID時(shí)不彈出。
問(wèn):怎樣獲得用戶授權(quán)后的code?
答:授權(quán)過(guò)程中,該參數(shù)以get參數(shù)出現(xiàn)在url中,取下來(lái)即可。
問(wèn):邀請(qǐng)朋友參加活動(dòng)時(shí)發(fā)送分享到朋友圈的網(wǎng)頁(yè),如何統(tǒng)計(jì)邀請(qǐng)數(shù)?
答:分享時(shí),鏈接中帶上當(dāng)前用戶的openid參數(shù),朋友打開(kāi)時(shí),將可以同時(shí)獲得邀請(qǐng)者和被邀請(qǐng)者的OpenID,將其寫(xiě)入數(shù)據(jù)庫(kù)記錄
帶參數(shù)二維碼
問(wèn):如何生成帶參數(shù)的二維碼,并實(shí)現(xiàn)統(tǒng)計(jì)功能?
答:1. 使用參數(shù)二維碼接口生成多個(gè)二維碼,
2. 掃描時(shí)判斷用戶來(lái)自哪個(gè)二維碼,并保存
3. 統(tǒng)計(jì)用戶來(lái)源
問(wèn):永久參數(shù)二維碼最多個(gè)數(shù)是多少,可以無(wú)限嗎?
答:永久二維碼最大個(gè)數(shù)目前默認(rèn)是10萬(wàn)個(gè),永久二維碼不可以無(wú)限。
問(wèn):10萬(wàn)個(gè)永久參數(shù)二維碼用完之后,可否刪除不需要的二維碼生成新的嗎?
答:不能。重新生成,也只能生成現(xiàn)有的重復(fù)參數(shù)下的。
對(duì)于更多微信公眾平臺(tái)的問(wèn)題,可以在咨詢微信公眾平臺(tái)客服尋求幫助。