WeChatエンタープライズ番号開発:アクセスポイント取得

3049 ワード

WeChatエンタープライズ番号の開発では、WeChatエンタープライズ番号の関連インタフェースを呼び出す必要がある場合は、AccessTokenを使用する必要がありますが、AccessTokenはcorpidを必要とし、corpsecretの2つのパラメータは関連インタフェースを呼び出す必要があります.
また,各インタフェースには一定の回数制限があり,当然アクセスポイントを取得するインタフェースにもこの制限がある.各AccessTokenの有効期間は7200秒、すなわち2時間であり、有効期間内にインタフェースを呼び出すと自動的に継続する.そこで、AccessTokenを取得した後、期限が切れそうになったら再取得する場所に保存することをお勧めします.実はAccessTokenは少しwebプログラムの中のsessionに似ていて、この有効期間7200秒はsessionの有効期間に相当して、インタフェースを呼び出して、自動的に継続して、webプログラムの中でユーザーが登録した後に相当して、サービス側とインタラクティブで、sessionの有効期間は自然に延長しました.
コアコードAccessTokenInfoクラス:
public class AccessTokenInfo
    {
        /// <summary>
        /// access_token
        /// </summary>
       public string access_token { get; set; }

        /// <summary>
        ///       ,  :  
        /// </summary>
       public long expires_in { get; set; }

        /// <summary>
        ///     
        /// </summary>
        public DateTime GetTime { get; set; }
    }

BLLAccessTokenクラス
    /// <summary>
    ///       access_token
    /// </summary>
   public static class BLLAccessToken
    {
       static AccessTokenInfo TokenInfo = null;     
       public static string GetAccessToken()
       {
            string AccessToken = "";
           DateTime now=DateTime.Now;
           if (TokenInfo == null)  //    
           {
               TokenInfo = UpDateAccessToken();
           }
           else
           {
               if (TokenInfo.GetTime.AddSeconds(TokenInfo.expires_in - 30) < now) //  30     
               {
                   TokenInfo = UpDateAccessToken();
               }
           }
           AccessToken = TokenInfo.access_token;
           return AccessToken;
       }
       private static AccessTokenInfo UpDateAccessToken()
       {
           string CorpId = AppIdInfo.GetCorpId();//corpid
           string Secret = AppIdInfo.GetSecret(); //corpsecret
           AccessTokenInfo info = new AccessTokenInfo();
           WebUtils ut = new WebUtils();
           /// https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=wxb7f1db8fd6aa9d68&corpsecret=aoxZ7D5-SgLRUbKY2fwQykW36RqxoIdNIn1pIiGy9iSdXgMHwQCzUsniQVAsBCTt
           string urlFormat = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={0}&corpsecret={1}";
           var url = string.Format(urlFormat, CorpId, Secret);
           string temp = ut.DoGet(url);         
           try
           {
               AccessTokenInfo tempAccessTokenjson = Tools.JsonStringToObj<AccessTokenInfo>(temp);
               info.access_token = tempAccessTokenjson.access_token;
               info.expires_in = tempAccessTokenjson.expires_in;
               info.GetTime = DateTime.Now;              
           }
           catch(Exception ex)
           {
               LogInfo.Error("  AccessToken  ", ex);
           }
           return info;
       }

    }

微信企業番号開発:よく使われるパラメータ
微信企業号開発:corpsecretはいったいどこにあるのだろうか.
AccessTokenの公式ドキュメントの取得