前陣子作一個包車微網站,關聯到公衆號的。因爲boss的一些詭異的需求,我須要用到openid,而後就百度,看微信公衆平臺的開發者文檔:http://mp.weixin.qq.com/wiki/4/9ac2e7b1f1d22e9e57260f6553822520.htmlphp
下面是個人操做歷程html
登入公衆平臺-接口權限json
1.1找到:網頁受權獲取用戶基本信息,點右側的修改。
api
1.2要求寫回調頁面的域名,就是寫你的代碼在那個路徑下:
微信
好比:你將要將獲取openid的代碼寫在test.php裏,而訪問這個文件的路徑是: 微信開發
http://www.test.sinaapp.com/test.php app
回調頁面便是:www.test.sinaapp.com 不要寫最後的那個 / ,文檔上好像要求寫,寫了就被坑了微信公衆平臺
獲取code(這是騰訊返回的值)post
騰訊提供的,獲取code的url,下面是格式:網站
https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI &response_type=code&scope=SCOPE&state=STATE#wechat_redirect
APPID,不說也應該要知道
REEDIRECT_URL,就是http://test.sinaapp.com/test.php (以test.php爲例子);
SCOPE,是微信的受權方式。有兩種:1 snsapi_base,只能獲取到openid; 2 snsapi_userinfo 能獲取到比較全的用戶信息,這裏我用了第一種;
STATE,微信給開發者留的一個參數傳遞位,隨便填什麼都行 ;
#wechat_redirect,微信開發文檔強調不能去掉。
2.1 接着,在你須要的地方綁上組合好的這個url(我綁定在了公衆號的菜單上);
2.2 到test.php接受code,騰訊是用post的方式傳回來的,$code =$_GET['code'];便可接收到code
若是,你的openid沒有獲取成功或空,這就多是獲取出錯,就要輸出json數據包查看錯誤提示,並根據微信的「全局返回碼」查看是什麼錯誤: