


Comment résoudre le problème d'expiration du access_token dans le développement .Net WeChat
Mar 28, 2017 pm 02:43 PMCet article présente principalement en détail comment résoudre le problème d'expiration du access_token dans le développement de .Net WeChat. Les amis intéressés peuvent s'y référer
Parce que access_token sera inclus dans les futures fonctions avancées, il est donc souvent utilisé. Je dois modifier le access_token expliqué plus t?t ici.
De plus, il convient de noter que access_token change et a son propre cycle. L'explication officielle est : "la période de validité est de 7200 secondes", ce qui nous oblige à stocker le access_token obtenu dans un fichier physique ou une application, et à le demander. après l'expiration, modifiez ce contenu et lisez-le si nécessaire
Certaines personnes ont peut-être pensé que s'il expire, j'en obtiendrai simplement un. Le même effet peut être obtenu sans fichiers physiques ni application, mais vous devez y prêter attention. la plateforme WeChat Le nombre d'access_tokens obtenus par jour est également limité. Un utilisateur peut démarrer plusieurs fois. S'il y a beaucoup d'utilisateurs, il sera certainement dépassé. Nous implémentons donc toujours ces fonctions selon les idées ci-dessus : avant cela nous avons déjà compris la méthode d'obtention d'access_token (connexion), il ne nous reste plus qu'à nous assurer qu'elle est mise à jour à tout moment
Créez d'abord une classe Access_token <.>
/// <summary> ///Access_token 的摘要說明 /// </summary> public class Access_token { public Access_token() { // //TODO: 在此處添加構(gòu)造函數(shù)邏輯 // } string _access_token; string _expires_in; /// <summary> /// 獲取到的憑證 /// </summary> public string access_token { get { return _access_token; } set { _access_token = value; } } /// <summary> /// 憑證有效時間,單位:秒 /// </summary> public string expires_in { get { return _expires_in; } set { _expires_in = value; } } }Utilisez le fichier XML suivant pour stocker access_token, créez un XMLFile.xml et écrivez le contenu de la balise Access_YouXRQ comme un temps passé, afin que on peut commencer par le début Lors de l'appel, on constate qu'il a expiré, puis un nouveau access_token est obtenu.
<?xml version="1.0" encoding="utf-8"?> <xml> <Access_Token>初始值可以隨便寫</Access_Token> <Access_YouXRQ>1980/12/12 16:06:38</Access_YouXRQ> </xml>Modifiez la méthode précédente d'obtention d'Access_token et laissez-la attribuer une valeur à l'instance Access_token
public static Access_token GetAccess_token() { string appid = 你的appid ; string secret = 你的secret; string strUrl = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" + appid + "&secret=" + secret; Access_token mode = new Access_token(); HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(strUrl); req.Method = "GET"; using (WebResponse wr = req.GetResponse()) { HttpWebResponse myResponse = (HttpWebResponse)req.GetResponse(); StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8); string content = reader.ReadToEnd(); //Response.Write(content); //在這里對Access_token 賦值 Access_token token = new Access_token(); token = JsonHelper.ParseFromJson<Access_token>(content); mode.access_token = token.access_token; mode.expires_in = token.expires_in; } return mode; }La méthode ci-dessus utilise le traitement des objets Json, j'ai donc posté le code de JsonHelper pour votre référence Voici le code de JsonHelper.cs?:
.
using System; using System.IO; using System.Text; using System.Runtime.Serialization.Json; public class JsonHelper { /// <summary> /// 生成Json格式 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="obj"></param> /// <returns></returns> public static string GetJson<T>(T obj) { DataContractJsonSerializer json = new DataContractJsonSerializer(obj.GetType()); using (MemoryStream stream = new MemoryStream()) { json.WriteObject(stream, obj); string szJson = Encoding.UTF8.GetString(stream.ToArray()); return szJson; } } /// <summary> /// 獲取Json的Model /// </summary> /// <typeparam name="T"></typeparam> /// <param name="szJson"></param> /// <returns></returns> public static T ParseFromJson<T>(string szJson) { T obj = Activator.CreateInstance<T>(); using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(szJson))) { DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType()); return (T)serializer.ReadObject(ms); } } }Nous avons également besoin d'un moyen de déterminer si le access_token a expiré et de mettre à jour le fichier XML s'il expire.
/// <summary> /// 根據(jù)當前日期 判斷Access_Token 是否超期 如果超期返回新的Access_Token 否則返回之前的Access_Token /// </summary> /// <param name="datetime"></param> /// <returns></returns> public static string IsExistAccess_Token() { string Token = string.Empty; DateTime YouXRQ; // 讀取XML文件中的數(shù)據(jù),并顯示出來 ,注意文件路徑 string filepath = Server.MapPath("XMLFile.xml"); StreamReader str = new StreamReader(filepath, System.Text.Encoding.UTF8); XmlDocument xml = new XmlDocument(); xml.Load(str); str.Close(); str.Dispose(); Token = xml.SelectSingleNode("xml").SelectSingleNode("Access_Token").InnerText; YouXRQ = Convert.ToDateTime(xml.SelectSingleNode("xml").SelectSingleNode("Access_YouXRQ").InnerText); if (DateTime.Now > YouXRQ) { DateTime _youxrq = DateTime.Now; Access_token mode = GetAccess_token(); xml.SelectSingleNode("xml").SelectSingleNode("Access_Token").InnerText = mode.access_token; _youxrq = _youxrq.AddSeconds(int.Parse(mode.expires_in)); xml.SelectSingleNode("xml").SelectSingleNode("Access_YouXRQ").InnerText = _youxrq.ToString(); xml.Save(filepath); Token = mode.access_token; } return Token; }D'accord, après avoir terminé le travail ci-dessus, il me suffit d'appeler ce qui suit lors de l'utilisation de access_token et tout ira bien, "Les clients n'ont plus besoin s'inquiéter de l'expiration du jeton"
string _access_token = IsExistAccess_Token();
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

La copie des bandes dessinées est sans aucun doute un trésor qui ne peut pas être manqué. Ici, vous pouvez trouver des bandes dessinées de basket-ball dans divers styles, des histoires compétitives passionnées et inspirantes à une comédie quotidienne détendue et humoristique. Que vous souhaitiez revivre les classiques ou découvrir de nouvelles ?uvres, la copie des bandes dessinées peut répondre à vos besoins. Grace au portail de lecture en ligne authentique fourni par Copy Comics, vous ferez des adieux aux problèmes de ressources piratées, profiterez d'une expérience de lecture haute définition et fluide, et pouvez soutenir vos auteurs de bandes dessinées préférés et contribuer au développement de bandes dessinées authentiques.

Le choix du navigateur UC ou du navigateur QQ dépend de vos besoins: 1. Le navigateur UC convient aux utilisateurs qui poursuivent un chargement rapide et des fonctions de divertissement riches; 2. QQ Browser convient aux utilisateurs qui ont besoin de stabilité et de connexion transparente avec les produits Tencent.

En combinant les dernières tendances de l'industrie et les données d'évaluation multidimensionnelles en 2025, ce qui suit est les dix premières recommandations de logiciels d'écriture d'IA complètes, couvrant des scénarios traditionnels tels que la création générale, la recherche universitaire et le marketing commercial, tout en prenant en compte les services d'optimisation chinoise et de localisation:

Nice Comics, une plate-forme d'expérience de lecture immersive dédiée à la création pour les amateurs de bandes dessinées, rassemble un grand nombre de ressources de bande dessinée de haute qualité au pays et à l'étranger. Ce n'est pas seulement une plate-forme de lecture de bandes dessinées, mais aussi une communauté qui relie les artistes comiques et les lecteurs et partage la culture comique. Grace à la conception d'interface simple et intuitive et aux fonctions de recherche puissantes, NES Comics vous permet de trouver facilement vos ?uvres préférées et de profiter d'une expérience de lecture fluide et confortable. Dites au revoir aux longues opérations en attente et fastidieuses, entrez immédiatement dans le monde de belles bandes dessinées et commencez votre voyage comique!

Frogman Comics est devenu le premier choix pour de nombreux amateurs de bandes dessinées avec ses ressources comiques riches et diverses et son expérience de lecture en ligne pratique et fluide. C'est comme un étang dynamique, avec des histoires fra?ches et intéressantes constamment en émergeant, attendant que vous découvriez et explorez. Frog Man Comics couvre une variété de sujets, des aventures passionnées au doux amour, de la fantaisie et de la science-fiction au raisonnement de suspense, quel que soit le genre que vous aimez, vous pouvez trouver vos ?uvres préférées ici. Sa conception d'interface simple et intuitive vous permet de démarrer facilement, de trouver rapidement les bandes dessinées que vous souhaitez lire et de vous immerger dans le monde de la bande dessinée passionnant.

Ici, vous pouvez profiter du vaste océan de bandes dessinées et explorer des ?uvres de divers thèmes et styles, de la bande dessinée passionnée des jeunes hommes aux bandes dessinées délicates et émouvantes, des bandes dessinées mystérieuses de suspense et de br?lure cérébrale aux bandes dessinées quotidiennes détendues et dr?les, il y a tout, et il y en a toujours une qui peut toucher vos cordes à c?ur. Nous avons non seulement une grande quantité de véritables ressources de bande dessinée, mais aussi en constante opinion et mettez également à jour les dernières ?uvres pour vous assurer que vous pouvez lire vos bandes dessinées préférées dès que possible.

Le dernier site officiel du 2025b Anhui est: https://www.marketwebb.co/zh-cn/join?ref=507720986& ;ype=wenzi; Binance Exchange est un échange mondial de crypto-monnaie qui dessert 180 pays et régions, notamment l'Amérique du Nord, l'Europe, Ta?wan, le Moyen-Orient, Hong Kong et la Malaisie. Il fournit plus de 600 crypto-monnaies et compte 270 millions d'utilisateurs enregistrés dans le monde.

Les utilisateurs de téléphone mobile Android peuvent télécharger et installer l'application Huobi / Huobi via les étapes suivantes: 1. Assurez-vous que le réseau est stable et que l'espace de stockage est suffisant; 2. Téléchargez l'application via le site officiel de Huobi / Huobi, utilisez le navigateur pour accéder au site Web officiel et cliquez sur le lien de téléchargement ou scannez le code QR, ou recherchez et téléchargez via des magasins d'applications tiers tels que Apptreasure et Huawei App Applic Market, et vous pouvez également obtenir le package d'installation via le partage des amis; 3. Trouvez le fichier .APK téléchargé, activez l'autorisation d'installation de "Application Source inconnue", suivez les invites pour terminer l'installation, etc.
