微信公眾平臺開發(fā)者常見問題方法集錦

2016-01-19|HiShop
導(dǎo)讀:微信公眾號開發(fā)新手總會碰到這樣或是那樣的問題,微信公眾平臺開發(fā)者問答是一個微信知識問答的區(qū)域,專注于提供微信應(yīng)用及開發(fā)技術(shù)知識的整理、歸類及檢索。本文主要為大家講...

  微信公眾號開發(fā)新手總會碰到這樣或是那樣的問題,微信公眾平臺開發(fā)者問答是一個微信知識問答的區(qū)域,專注于提供微信應(yīng)用及開發(fā)技術(shù)知識的整理、歸類及檢索。本文主要為大家講解一下微信公眾號新手常見的一些問題。

  新手常見問題

  問:我是新手,沒有開發(fā)基礎(chǔ),應(yīng)該如何學(xué)習(xí)微信公眾平臺的開發(fā)?

  答:先學(xué)習(xí)PHP和Mysql,可以在網(wǎng)上找相應(yīng)的教程,再學(xué)習(xí)微信公眾平臺開發(fā)入門教程,了解微信收發(fā)消息原理及回復(fù);然后根據(jù)微信開發(fā)文檔,熟悉接口,并在此基礎(chǔ)上實現(xiàn)一些基本的小功能,并擴展到更復(fù)雜的功能上。

  問:URL和Token是什么意思?有什么用?我應(yīng)該如何填寫?

  答:URL是微信接口程序的網(wǎng)址,可以自己開發(fā)程序得到或者使用第三方生成的網(wǎng)址。而Token就是一個令牌,用于微信服務(wù)器與程序進行通訊的時候的身份驗證,可以理解為接入微信程序的一把鑰匙。

  使用URL是為了讓微信服務(wù)器和程序服務(wù)器進行通訊,從而接管并處理用戶發(fā)給程序的消息。當填寫完URL和Token并啟用的時候,微信服務(wù)器就會和程序進行一次數(shù)據(jù)校驗過程,認證通過則表明程序沒有問題。

  問:Token驗證失敗是什么原因引起的?如何解決?

  答:主要原因是程序代碼引起的,比如用了別人的程序?qū)е碌?,需要自己或者找源作者程序代碼

  少數(shù)原因是自己的服務(wù)器的問題,比如SAE未實名認證,這種情況上傳身份證實名認證一下即可,

  極少數(shù)原因是微信服務(wù)器的響應(yīng)問題,一般多試幾次即可解決。

  問:公眾賬號有哪幾種類型?我應(yīng)該選擇哪種?

  答:訂閱號、服務(wù)號、企業(yè)號、測試號。

  媒體及每日需要群發(fā)功能的選擇訂閱號。

  需要有支付功能的企業(yè)選擇服務(wù)號。

  需要做內(nèi)部員工管理,不讓外人關(guān)注的,選擇企業(yè)號。

  新手學(xué)習(xí)開發(fā),使用測試號。

  問:如何找到微信公眾賬號下用戶的微信號?

  答:接口無法獲取,微信也不提供,唯一的方法是想辦法讓用戶告訴你。

  問:啟用開發(fā)者模式之后,我原先設(shè)置的自動回復(fù)會丟失嗎?

  答:不會,停用開發(fā)者模式之后,就可以看到了。

  關(guān)于Access Token

  問:Access Token為什么要有效期?如何自動更新Access Token,使其長期有效?

  答:Access Token是一把萬能鑰匙,可以調(diào)用很多微信接口的權(quán)限,為了防止別有用心的人得到后無限制的濫用,所以設(shè)置有效期。如果發(fā)現(xiàn)Access Token有被濫用的跡象,則可能AppID和AppSecret泄漏了,可以重置AppSecret。

  有多種技術(shù)上的方法,可以保持Access Token自動更新,比如存放到數(shù)據(jù)庫中,存到緩存中,或存到文件中,具體方法可以看 微信公眾平臺開發(fā)—自動更新微信access token。

  用戶信息/OpenID/OAuth2網(wǎng)頁授權(quán)

  問:如何獲得用戶的OpenID?

  答:用戶和公眾號交互的時候,接收到的XML消息中有FromUserName參數(shù)或OpenID參數(shù),解析取值即可。認證服務(wù)號可以使用Oauth2授權(quán)在網(wǎng)頁中獲得openid

  問:關(guān)注公眾號的時候回復(fù)“歡迎關(guān)注!+用戶的昵稱“和頭像,是怎么實現(xiàn)的?

  答:先得到用戶的OpenID,再使用獲取用戶信息接口可以獲取實現(xiàn)。

  問:用戶昵稱含有emoji表情導(dǎo)致保存到數(shù)據(jù)庫時亂碼,怎么辦?

  答:Mysql版本升級到MySQL 5.5.3及以上,將數(shù)據(jù)庫的編碼設(shè)置成utf8mb4。

  問:有辦法判斷兩個公眾賬號下的某兩個用戶是否是同一個人嗎?

  答:先將公眾賬號綁定到微信開發(fā)平臺,這樣在獲取用戶信息的時候,可以得到UnionID。同一用戶,對同一個微信開放平臺下的不同應(yīng)用,unionid是相同的。從而可以判斷出是否是同一個人。

  問:如何實現(xiàn)OAuth2.0網(wǎng)頁授權(quán)?有哪些應(yīng)用場合?如何不彈出授權(quán)窗口?

  答:實現(xiàn)OAuth2.0網(wǎng)頁授權(quán),可以參考微信公眾平臺開發(fā)(71)OAuth2.0網(wǎng)頁授權(quán)

  OAuth2.0網(wǎng)頁授權(quán)可以用于在網(wǎng)頁中獲得個人信息,包括OpenID,昵稱、頭像、城市、性別等。也可以用于判斷用戶是否關(guān)注。

  在以下幾種情況下不彈出授權(quán)窗口:已關(guān)注用戶不彈出,未關(guān)注用戶使用snsapi_base作用域方式獲取OpenID時不彈出。

  問:怎樣獲得用戶授權(quán)后的code?

  答:授權(quán)過程中,該參數(shù)以get參數(shù)出現(xiàn)在url中,取下來即可。

  問:邀請朋友參加活動時發(fā)送分享到朋友圈的網(wǎng)頁,如何統(tǒng)計邀請數(shù)?

  答:分享時,鏈接中帶上當前用戶的openid參數(shù),朋友打開時,將可以同時獲得邀請者和被邀請者的OpenID,將其寫入數(shù)據(jù)庫記錄

微信公眾平臺開發(fā)者常見問題方法集錦

  帶參數(shù)二維碼

  問:如何生成帶參數(shù)的二維碼,并實現(xiàn)統(tǒng)計功能?

  答:1. 使用參數(shù)二維碼接口生成多個二維碼,

  2. 掃描時判斷用戶來自哪個二維碼,并保存

  3. 統(tǒng)計用戶來源

  問:永久參數(shù)二維碼最多個數(shù)是多少,可以無限嗎?

  答:永久二維碼最大個數(shù)目前默認是10萬個,永久二維碼不可以無限。

  問:10萬個永久參數(shù)二維碼用完之后,可否刪除不需要的二維碼生成新的嗎?

  答:不能。重新生成,也只能生成現(xiàn)有的重復(fù)參數(shù)下的。

  對于更多微信公眾平臺的問題,可以在咨詢微信公眾平臺客服尋求幫助。