Exemple #1
0
        /// <summary>
        /// 获取授权公众号的接口调用凭据(令牌)
        /// </summary>
        /// <param name="authorizerAppId">授权公众号AppId</param>
        /// <param name="authorizerRefreshToken">授权公众号刷新Token</param>
        /// <param name="websiteOwner">站点所有者s</param>
        /// <returns></returns>
        private string GetAuthorizerToken(string authorizerAppId, string authorizerRefreshToken, string websiteOwner)
        {
            BLLWeixin bllWeixin = new BLLWeixin();

            bllWeixin.ToBLLWeixinLog("GetAuthorizerToken Open");
            var systemSet = GetSysSet();
            var dataObj   = new
            {
                component_appid          = systemSet.ComponentAppId,
                authorizer_appid         = authorizerAppId,
                authorizer_refresh_token = authorizerRefreshToken
            };

            string data = ZentCloud.Common.JSONHelper.ObjectToJson(dataObj);

            bllWeixin.ToBLLWeixinLog("GetAuthorizerToken Open,data:" + data);

            ZentCloud.Common.HttpInterFace webRequest = new Common.HttpInterFace();
            var result = webRequest.PostWebRequest(data, string.Format("https://api.weixin.qq.com/cgi-bin/component/api_authorizer_token?component_access_token={0}", GetComponentAccessToken()), Encoding.UTF8);

            bllWeixin.ToBLLWeixinLog("result" + result);
            AuthorizerAccessTokenModel model = ZentCloud.Common.JSONHelper.JsonToModel <AuthorizerAccessTokenModel>(result);

            bllWeixin.ToBLLWeixinLog("GetAuthorizerToken Open,AuthorizerAccessTokenModel:" + data);

            //
            //更新 authorizer_access_token
            //
            var currentWebsiteInfo = GetWebsiteInfoModelFromDataBase(websiteOwner);

            if (!string.IsNullOrEmpty(model.authorizer_access_token))
            {
                currentWebsiteInfo.AuthorizerAccessTokenUpdateTime = DateTime.Now;
                currentWebsiteInfo.AuthorizerAccessToken           = model.authorizer_access_token;
                currentWebsiteInfo.AuthorizerRefreshToken          = model.authorizer_refresh_token;
                Update(currentWebsiteInfo);
            }
            //
            return(model.authorizer_access_token);
        }