>위챗 애플릿 >위챗 개발 >WeChat 포털 및 애플리케이션의 C# 개발 - WeChat 기업 계정 구성 및 사용

WeChat 포털 및 애플리케이션의 C# 개발 - WeChat 기업 계정 구성 및 사용

高洛峰
高洛峰원래의
2017-02-17 15:36:301611검색

이 에세이 시리즈의 시작 부분에서는 주로 WeChat 공개 계정용 포털 애플리케이션 개발을 소개합니다. 최근에는 WeChat 프레임워크 전체가 확장 및 보완되었으며 최신 API 캡슐화 및 기업 계정 개발이 ​​추가되었습니다. 후속편에서는 주로 C# 사용 방법을 소개합니다. WeChat Enterprise Account 개발에 관해서는 이 글을 WeChat Enterprise Account 개발의 출발점으로 삼고 WeChat Enterprise Account의 구성과 사용법을 소개합니다.

1. 위챗 기업 계정 등록 및 로그인

기업 계정은 공용 계정, 구독 계정에 이어 또 다른 유형의 위챗입니다. 기업 계정은 기업 고객을 위해 WeChat에서 제공하는 모바일 애플리케이션 포털입니다. 이는 기업이 직원, 업스트림 및 다운스트림 공급망, 기업 IT 시스템 간의 연결을 설정하는 데 도움이 될 수 있습니다. 기업 계정을 사용하면 기업 또는 제3자 파트너가 기업이 고품질 모바일 조명 애플리케이션을 빠르고 비용 효율적으로 구현하여 생산, 관리, 협업 및 운영의 모바일화를 실현할 수 있도록 도울 수 있습니다.

개인적으로 기업 계정의 가장 큰 장점은 메시지를 무제한으로 보낼 수 있다는 점이라고 생각하는데, 이는 기업 내 직원들 간의 원활한 의사소통이 가능하다는 것을 의미합니다. 공개 계정 및 구독 계정에 비해 WeChat 기업 계정은 메시지 전송에 있어 더 신중하다고 할 수 있습니다. 그러나 WeChat 기업 계정은 내부 주소록을 구축해야 하며, 팔로어는 주소록의 WeChat ID, 이메일 주소 및 전화번호를 일치시켜야 팔로우할 수 있습니다. 이는 다른 외부인이 자유롭게 팔로우하는 것을 방지할 수 있음을 의미합니다. 또한 보안상의 이유로 감사 프로세스인 2단계 인증을 설정할 수도 있습니다.

기업 계정 인증은 공공 계정과 동일하게 관련 기업 자격 서류를 제공해야 하며, 인증 수수료는 매년 부과됩니다. 그렇지 않은 경우 인원 및 기능에 일부 제한이 있을 수 있습니다. 위챗은 정말 돈 벌 방법을 찾으려고 노력하는 것 같아요. 기존 과금 모델에는 구독 계정, 공식 계정, 기업 계정, 오픈 플랫폼 등이 모두 인증 수수료가 있는 것 같고, 위챗 매장도 보증금을 징수해야 합니다. 20,000, 다 돈이에요.

알겠습니다. WeChat 등록 주소는 https://qy.weixin.qq.com입니다. WeChat 공식 계정과 WeChat 기업 계정을 동시에 등록할 수는 없습니다. 이메일 주소 하나.

기업이 기업 계정을 개설하고 사용하려면 4단계가 필요합니다.

1) 기업은 공식 WeChat 웹사이트(http://qy.weixin.qq.com)로 이동합니다. ) 활성화를 신청합니다.

2) 활성화 후 기업은 기업 계정 관리 백그라운드에서 구성원을 가져오고 QR 코드를 게시합니다.

3) 기업은 기업 계정 API를 호출하여 인터페이스합니다.

4) 직원 팔로우, WeChat 정보 수신, WeChat에서 회사와 소통

회사 계정 등록 후 WeChat을 통해 회사 QR 코드를 스캔할 수 있습니다. 스캔할 때 WeChat에서 확인을 해야 합니다. 그런 다음 비밀번호를 입력하여 로그인할 수 있습니다. 작동 인터페이스는 아래와 같습니다(왼쪽은 휴대폰의 스크린샷이고 오른쪽은 스크린샷입니다). 웹페이지의).

C#开发微信门户及应用-微信企业号的配置和使用 C#开发微信门户及应用-微信企业号的配置和使用

로그인하면 해당 컴퓨터 관리 인터페이스를 볼 수 있습니다.

C#开发微信门户及应用-微信企业号的配置和使用

2. 개발 콜백 모드 설정

WeChat 공식 계정을 개발했다면, WeChat 서버 및 웹사이트 서버 연결 관계가 메시지 전달 및 처리를 실현하는 것이라면 콜백 모드를 설정하고 관련 매개변수를 구성해야 합니다. 그런 다음 자신의 웹사이트 서버에 입구를 만들어 WeChat 서버 메시지를 처리하세요.

C#开发微信门户及应用-微信企业号的配置和使用

구성을 입력한 후 URL, Token, EncodingAESKey 등 관련 매개변수를 수정해야 하며, 주로 URL이 입력 처리와 동일합니다. 공식 계정의 정보를 웹사이트 서버의 처리 항목에 게시해야 합니다.

토큰과 AESKey는 프롬프트에 따라 동적으로 생성될 수 있습니다. AESKey는 23비트인 것으로 보이므로 이는 주로 암호화 및 복호화에 사용됩니다.

URL, Token 및 EncodingAESKey의 세 가지 매개변수에 대한 설명입니다.

1) URL은 기업 애플리케이션이 기업 계정으로부터 푸시 요청을 받기 위해 사용하는 액세스 프로토콜 및 주소이며 http 또는 https 프로토콜을 지원합니다.

2) 토큰은 기업에서 임의로 채워서 서명을 생성하는 데 사용할 수 있습니다.

3) EncodingAESKey는 메시지 본문을 암호화하는 데 사용되며 AES 키의 Base64 인코딩입니다.

URL, 토큰 및 암호화 검증에 대한 자세한 처리는 다음 섹션 "메시지 수신 시 암호화 및 복호화 처리"를 참조하세요.

C#开发微信门户及应用-微信企业号的配置和使用

우리 회사의 기업 계정을 구성한 후의 인터페이스는 다음과 같습니다.

C#开发微信门户及应用-微信企业号的配置和使用

이 URL에서 가리키는 페이지 기능은 데이터를 구문 분석하여 WeChat 서버로 반환해야 하므로 이 처리 기능 입구를 서버에 미리 배포해야 합니다. .

위 기능 외에도 사용해야 하는 CorpID 매개변수도 있는데, 이는 백그라운드 메인 인터페이스인 설정에서 확인할 수 있습니다.

C#开发微信门户及应用-微信企业号的配置和使用

그러면 웹사이트 백엔드의 원활한 사용을 위해 공식 계정과 동일한 구성을 하고 아래와 같이 Web.Config에 넣어줍니다.

C#开发微信门户及应用-微信企业号的配置和使用

3. 콜백 페이지 기능 개발 구현

앞서 콜백 페이지에서 사용해야 하는 몇 가지 구성 항목을 소개했습니다. 에서는 기업 계정 정보의 포스트백을 구현하고 콜백 테스트 작업을 통과하는 방법을 계속해서 소개합니다.

콜백 테스트의 데이터가 Get 메소드를 통해 전송되므로 처리 로직 코드는 다음과 같습니다. 공개 계정과 유사하지만 구현 부분이 다릅니다.

    /// <summary>
    /// 企业号回调信息接口。统一接收并处理信息的入口。    /// </summary>
    public class corpapi : IHttpHandler
    {        /// <summary>
        /// 处理企业号的信息        /// </summary>
        /// <param name="context"></param>
        public void ProcessRequest(HttpContext context)
        {            string postString = string.Empty;            if (HttpContext.Current.Request.HttpMethod.ToUpper() == "POST")
            {                using (Stream stream = HttpContext.Current.Request.InputStream)
                {
                    Byte[] postBytes = new Byte[stream.Length];
                    stream.Read(postBytes, 0, (Int32)stream.Length);
                    postString = Encoding.UTF8.GetString(postBytes);
                }                if (!string.IsNullOrEmpty(postString))
                {
                    Execute(postString);
                }
            }            else
            {                Auth();
            }
        }        /// <summary>
        /// 成为开发者的第一步,验证并相应服务器的数据        /// </summary>
        private void Auth()
        {            #region 获取关键参数            string token = ConfigurationManager.AppSettings["CorpToken"];//从配置文件获取Token
            if (string.IsNullOrEmpty(token))
            {
                LogTextHelper.Error(string.Format("CorpToken 配置项没有配置!"));
            }            string encodingAESKey = ConfigurationManager.AppSettings["EncodingAESKey"];//从配置文件获取EncodingAESKey
            if (string.IsNullOrEmpty(encodingAESKey))
            {
                LogTextHelper.Error(string.Format("EncodingAESKey 配置项没有配置!"));
            }            string corpId = ConfigurationManager.AppSettings["CorpId"];//从配置文件获取corpId
            if (string.IsNullOrEmpty(corpId))
            {
                LogTextHelper.Error(string.Format("CorpId 配置项没有配置!"));
            } 
            #endregion

            string echoString = HttpContext.Current.Request.QueryString["echoStr"];            string signature = HttpContext.Current.Request.QueryString["msg_signature"];//企业号的 msg_signature
            string timestamp = HttpContext.Current.Request.QueryString["timestamp"];            string nonce = HttpContext.Current.Request.QueryString["nonce"];            string decryptEchoString = "";            if (new CorpBasicApi().CheckSignature(token, signature, timestamp, nonce, corpId, encodingAESKey, echoString, ref decryptEchoString))
            {                if (!string.IsNullOrEmpty(decryptEchoString))
                {
                    HttpContext.Current.Response.Write(decryptEchoString);
                    HttpContext.Current.Response.End();
                }
            }
        }

구체적인 처리 코드는 다음과 같습니다. 암호화 및 복호화 처리 클래스 중 하나가 WeChat Enterprise Account의 부록에 제공됩니다. C# 버전을 사용했습니다. .그냥 SDK.

    /// <summary>
    /// 企业号基础操作API实现    /// </summary>
    public class CorpBasicApi : ICorpBasicApi
    {        /// <summary>
        /// 验证企业号签名        /// </summary>
        /// <param name="token">企业号配置的Token</param>
        /// <param name="signature">签名内容</param>
        /// <param name="timestamp">时间戳</param>
        /// <param name="nonce">nonce参数</param>
        /// <param name="corpId">企业号ID标识</param>
        /// <param name="encodingAESKey">加密键</param>
        /// <param name="echostr">内容字符串</param>
        /// <param name="retEchostr">返回的字符串</param>
        /// <returns></returns>
        public bool CheckSignature(string token, string signature, string timestamp, string nonce, string corpId, string encodingAESKey, string echostr, ref string retEchostr)
        {
            WXBizMsgCrypt wxcpt = new WXBizMsgCrypt(token, encodingAESKey, corpId);            int result = wxcpt.VerifyURL(signature, timestamp, nonce, echostr, ref retEchostr);            if (result != 0)
            {
                LogTextHelper.Error("ERR: VerifyURL fail, ret: " + result);                return false;
            }            return true;            //ret==0表示验证成功,retEchostr参数表示明文,用户需要将retEchostr作为get请求的返回参数,返回给企业号。            // HttpUtils.SetResponse(retEchostr);
        }

WeChat 포털 및 애플리케이션의 추가 C# 개발 - WeChat 기업 계정 구성 및 사용 관련 기사는 PHP 중국어 웹사이트에 주목하세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.