實作解析:微信開發重點摘要 (2) - 用戶唯一識別碼與網頁存取授權碼

獲取網頁存取授權

在取得用戶同意授權碼之後,就可以接著拿 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

转载于:https://www.cnblogs.com/hsw1976/p/4996957.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值