獲取網頁存取授權

在取得用戶同意授權碼之後,就可以接著拿 openidaccess token

 

openid,筆者稱之為用戶唯一識別碼access code 則是網頁存取授權碼,騰訊官方稱為網頁授權接口調用憑證。從騰訊的公眾平台開發文件可以知道,openid 是跟著用戶走的,每個用戶都有自己的識別碼,這個識別碼也是開發者在寫程式的過程中,區分微信用戶的途徑;而 access code 則有類似鑰匙的作用,有了 code 就能獲取 openid 和 access_token。

 

關鍵連結

https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code

 

參數說明

APPID:你所屬公眾號的appid,可登入公眾平台查看。

CODE:已獲取的用戶同意授權碼

 

範例程式

後端的實作程式碼片段摘錄如下

private void GetOpenidAndAccessToken(string code)
{
    try
    {
        wx_userweixin wxuBll = new wx_userweixin();

        //构造获取openid及access_token的url
        WxPayData data = new WxPayData();

        data.SetValue("appid", wxuBll.GetAppId(wid));
        data.SetValue("code", code);
        data.SetValue("grant_type", "authorization_code");
        data.SetValue("secret", wxuBll.GetAppSecret(wid));

        string url = "https://api.weixin.qq.com/sns/oauth2/access_token?" + data.ToUrl();

        //请求url以获取数据
        string result = HttpService.Get(url);

        //保存access_token,用于收货地址获取
        JsonData jd = JsonMapper.ToObject(result);
        access_token = (string)jd["access_token"];

        //获取用户openid
        openid = (string)jd["openid"];
    }
    catch (Exception ex)
    {
        throw new WxPayException(ex.ToString());
    }
}

 

由於目前在使用中的微信開發案例,其整體方案的程式架構切割的很細,而且還搭上樣板引擎,因此為了避免太多無關緊要的程式碼占用篇幅,這裡就暫且將處理 openid 和 acess code 的程式片段摘錄下來。

 

官方說明

http://mp.weixin.qq.com/wiki/17/c0f37d5704f0b64713d5d2c37b468d75.html

posted on 2015-11-27 10:43  吉格艾諾  阅读(199)  评论(0编辑  收藏  举报