Maison  >  Article  >  Applet WeChat  >  Série de développement C# WeChat - Obtention d'informations d'identification pour les appels d'interface

Série de développement C# WeChat - Obtention d'informations d'identification pour les appels d'interface

高洛峰
高洛峰original
2017-03-03 09:26:371609parcourir

3.0 Obtenir les identifiants d'appel de l'interface

①Description de l'interface

access_token est le ticket unique au monde du compte officiel lorsque le compte officiel appelle. chaque Access_token d’interface est requis. Les développeurs doivent le stocker correctement. Au moins 512 caractères d'espace doivent être réservés pour le stockage access_token. La période de validité de access_token est actuellement de 2h (7200s) et doit être actualisée régulièrement. Une acquisition répétée rendra le dernier access_token invalide.

Instructions sur l'utilisation et la génération du access_token requis pour les appels API sur la plateforme publique :


1. Afin de garder appsecrect confidentiel, le tiers. a besoin d'un access_token pour obtenir un serveur de contrôle central actualisé. Le access_token utilisé par d'autres serveurs de logique métier provient du serveur de contrôle central et ne doit pas être actualisé individuellement, sinon le access_token sera écrasé et affectera l'entreprise

2. le retour expire_in , actuellement la valeur dans les 7 200 secondes. Le serveur de contrôle central doit actualiser le nouveau access_token à l'avance en fonction de cette heure valide. Pendant le processus d'actualisation, le serveur de contrôle central génère toujours l'ancien access_token. À ce stade, le backend de la plate-forme publique garantira que l'ancien et le nouveau access_token sont disponibles dans un court laps de temps après l'actualisation, ce qui garantit une transition en douceur des tiers. entreprise ;

3. La durée de validité de access_token peut être ajustée à l'avenir, de sorte que le serveur de contrôle central doit non seulement s'actualiser activement en interne à intervalles réguliers, mais doit également fournir un interface pour actualiser passivement access_token, afin que le serveur d'entreprise puisse savoir que le access_token a été mis à jour lors des appels d'API. En cas d'expiration du délai, le processus d'actualisation de access_token peut être déclenché.

Comment obtenir AppID et AppSecret ! ?

Les comptes officiels peuvent utiliser AppID et AppSecret pour appeler cette interface afin d'obtenir access_token. AppID et AppSecret peuvent être obtenus sur le site officiel de la plateforme publique WeChat - page Developer Center. (Vous devez être devenu développeur et le compte n'a pas de statut anormal)

Remarque : le protocole https est également utilisé lors de l'appel de toutes les interfaces WeChat, si le tiers n'utilise pas le serveur de contrôle central, mais ; sélectionne chaque entreprise. Si chaque point logique actualise access_taken, des conflits peuvent survenir, entraînant une instabilité du service.

②Interface de requête

Description de la demande d'appel de l'interface :


Méthode de requête http : GET

https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

Configuration des paramètres d'interface :

Série de développement C# WeChat - Obtention dinformations didentification pour les appels dinterface

Le code d'implémentation spécifique est le suivant :

/// <summary>
/// 获取公众号的ACCESS_TOKEN
/// </summary>
/// <returns>返回操作凭据</returns>
public string GetAccessToken()
{
  if (HttpContext.Current.Cache["access_token"] == null)
   {
     string para = string.Format("grant_type=client_credential&appid={0}&secret={1}", AppID, AppSecret);
     string results = SendHTTPRequest("POST", "https://api.weixin.qq.com/cgi-bin/token", para);
     JObject obj = (JObject)JsonConvert.DeserializeObject(results);

     //*******************************设置access_token的过期机制**************************

     Cache cache = HttpContext.Current.Cache;
     cache.Insert("access_token", obj["access_token"].ToString(), null, DateTime.Now.AddSeconds(7000),
      System.Web.Caching.Cache.NoSlidingExpiration);

     //******************************************end*************************************
     return HttpContext.Current.Cache["access_token"].ToString();
   }
   else
   {
     return HttpContext.Current.Cache["access_token"].ToString();
   }
}

Description du paramètre de retour :

Série de développement C# WeChat - Obtention dinformations didentification pour les appels dinterface

Instructions de retour :


Dans des circonstances normales, WeChat renverra le paquet de données JSON suivant au compte public :

{"access_token" :"ACCESS_TOKEN ","expires_in":7200}


Lorsqu'une erreur se produit, WeChat renvoie des informations de code d'erreur. Un exemple de données JSON. Le paquet est le suivant (cet exemple indique que l'AppID n'est pas valide).

{"errcode":40013,"errmsg":"invalid appid">

Remarque : lors de l'utilisation d'access_token, veuillez noter que cette interface a une limite de fréquence d'appel. Lorsqu'elle dépasse Si la fréquence d'appel quotidienne maximale est atteinte, le serveur WeChat imposera des restrictions d'interface sur le compte officiel actuel. Pour plus de détails, veuillez lire le document officiel (interface du compte officiel WeChat). description de la limite de fréquence)

Plus de séries de développement C# WeChat - obtenir des appels d'interface Pour les articles liés aux informations d'identification, veuillez faire attention au site Web PHP chinois !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn