C# WeChat-Entwicklungsreihe – Anmeldeinformationen für Schnittstellenaufrufe erhalten

高洛峰
Freigeben: 2017-03-03 09:26:37
Original
1604 Leute haben es durchsucht

3.0 Anmeldeinformationen für Schnittstellenanrufe abrufen

①Schnittstellenbeschreibung

access_token ist das weltweit eindeutige Ticket des offiziellen Kontos, wenn das offizielle Konto anruft Für jede Schnittstelle ist ein access_token erforderlich. Entwickler müssen es ordnungsgemäß speichern. Für die Speicherung des access_token müssen mindestens 512 Zeichen Platz reserviert werden. Die Gültigkeitsdauer von access_token beträgt derzeit 2 Stunden (7200 Sekunden) und muss regelmäßig aktualisiert werden. Wiederholte Erfassung führt dazu, dass das letzte access_token ungültig wird.

Anweisungen zur Verwendung und Generierung von access_token, die für API-Aufrufe auf der öffentlichen Plattform erforderlich sind:


1. Um die Vertraulichkeit von Apps zu wahren, muss der Dritte benötigt ein access_token, um einen aktualisierten zentralen Steuerungsserver zu erhalten. Der von anderen Geschäftslogikservern verwendete Zugriffstoken stammt vom zentralen Steuerungsserver und sollte nicht einzeln aktualisiert werden, da der Zugriffstoken sonst überschrieben wird und sich auf das Geschäft auswirkt.

2 Der aktuelle Gültigkeitszeitraum des Zugriffstokens wird übermittelt der zurückgegebene „expire_in“, derzeit der Wert innerhalb von 7200 Sekunden. Der zentrale Steuerungsserver muss das neue access_token entsprechend dieser gültigen Zeit im Voraus aktualisieren. Während des Aktualisierungsprozesses gibt der zentrale Steuerungsserver weiterhin das alte access_token aus. Zu diesem Zeitpunkt stellt das Backend der öffentlichen Plattform sicher, dass sowohl das alte als auch das neue access_token innerhalb kurzer Zeit nach der Aktualisierung verfügbar sind, was den reibungslosen Übergang von Drittanbietern gewährleistet Geschäft;

3. Die Gültigkeitszeit von access_token kann in Zukunft angepasst werden, sodass der zentrale Steuerungsserver nicht nur in regelmäßigen Abständen eine aktive Aktualisierung durchführen muss, sondern auch eine Schnittstelle zum passiven Aktualisieren von access_token, damit der Business-Server erkennen kann, dass das access_token während API-Aufrufen aktualisiert wurde. Im Falle einer Zeitüberschreitung kann der Aktualisierungsprozess von access_token ausgelöst werden.

So erhalten Sie AppID und AppSecret! ?

Offizielle Konten können AppID und AppSecret verwenden, um diese Schnittstelle aufzurufen und access_token zu erhalten. AppID und AppSecret können auf der offiziellen Website der öffentlichen WeChat-Plattform – Developer Center-Seite – abgerufen werden. (Sie müssen Entwickler geworden sein und das Konto hat keinen abnormalen Status)

Hinweis: Beim Aufruf aller WeChat-Schnittstellen wird auch das https-Protokoll verwendet, wenn der Drittanbieter nicht den zentralen Steuerungsserver verwendet wählt jedes Unternehmen aus. Wenn jeder logische Punkt access_taken aktualisiert, können Konflikte auftreten, die zu Dienstinstabilität führen.

②Anforderungsschnittstelle

Beschreibung der Schnittstellenaufrufanforderung:


http-Anforderungsmethode: GET

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

Schnittstellenparameterkonfiguration:

C# WeChat-Entwicklungsreihe – Anmeldeinformationen für Schnittstellenaufrufe erhalten

Der spezifische Implementierungscode lautet wie folgt:

/// <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();
   }
}
Nach dem Login kopieren

Beschreibung des Rückgabeparameters:

C# WeChat-Entwicklungsreihe – Anmeldeinformationen für Schnittstellenaufrufe erhalten

Rückgabeanweisungen:


Unter normalen Umständen gibt WeChat das folgende JSON-Datenpaket an das öffentliche Konto zurück:

{"access_token" :"ACCESS_TOKEN ","expires_in":7200🎜>


Wenn ein Fehler auftritt, gibt WeChat Fehlercodeinformationen zurück. Ein Beispiel für JSON-Daten Das Paket lautet wie folgt (dieses Beispiel zeigt an, dass die AppID ungültig ist). Bitte beachten Sie, dass für diese Schnittstelle eine Anrufhäufigkeitsbeschränkung gilt. Wenn die maximale tägliche Anrufhäufigkeit erreicht wird, erlegt der WeChat-Server Schnittstellenbeschränkungen für das aktuelle offizielle Konto auf. Weitere Informationen finden Sie im offiziellen Dokument (offizielle WeChat-Kontoschnittstelle). Beschreibung der Häufigkeitsbegrenzung)

Weitere C# WeChat-Entwicklungsserien-Get-Schnittstellenaufrufe Für Artikel zu Anmeldeinformationen beachten Sie bitte die chinesische PHP-Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!