Access_Token adalah tiket unik secara global dari akun resmi. Access_Token diperlukan saat memanggil setiap antarmuka akun resmi. Pengembang perlu menyimpannya dengan benar. Penyimpanan Access_Token harus mempertahankan setidaknya 512 ruang karakter. Periode validitas Access_Token saat ini 2 jam dan perlu disegarkan secara teratur. Akuisisi berulang akan menyebabkan akses_token yang Anda peroleh terakhir kali menjadi tidak valid.
Deskripsi Metode Penggunaan dan Pembuatan Access_Token Diperlukan untuk Panggilan API Platform Publik:
1. Untuk menjaga rahasia AppSecrect, pihak ketiga membutuhkan Access_Token untuk mendapatkan dan menyegarkan server kontrol pusat. Access_token yang digunakan oleh server logika bisnis lainnya semuanya berasal dari server kontrol pusat dan tidak boleh disegarkan secara terpisah, jika tidak, itu akan menyebabkan akses_token untuk menutupi dan memengaruhi bisnis;
2. Periode validitas Access_Token saat ini disampaikan melalui Exhire_in yang dikembalikan, dan saat ini merupakan nilai dalam 7200 detik. Server Kontrol Pusat perlu menyegarkan Access_Token baru sebelumnya berdasarkan waktu yang valid ini. Selama proses penyegaran, server kontrol pusat masih menghasilkan akses_token lama ke luar. Pada saat ini, latar belakang platform publik akan memastikan bahwa baik dan lama Access_tokens tersedia dalam periode singkat menyegarkan, yang memastikan transisi yang lancar dari layanan pihak ketiga;
3. Waktu Access_Token yang valid dapat disesuaikan di masa depan. Oleh karena itu, server kontrol pusat tidak hanya perlu disegarkan secara internal secara internal, tetapi juga perlu menyediakan antarmuka untuk refresh pasif Access_Token, yang memfasilitasi server bisnis untuk memicu proses penyegaran Access_Token ketika panggilan API tahu bahwa Access_Token telah diatur waktunya.
Jika pihak ketiga tidak menggunakan Central Control Server, tetapi sebaliknya memilih setiap titik logika bisnis untuk menyegarkan Access_Token, maka konflik dapat muncul, menghasilkan layanan yang tidak stabil.
Akun resmi dapat menggunakan AppID dan AppSecret untuk memanggil antarmuka ini untuk mendapatkan Access_Token. Appid dan AppSecret dapat diperoleh di situs web resmi platform publik WeChat - halaman Pusat Pengembang (perlu menjadi pengembang dan akun tidak memiliki status abnormal). Perhatikan bahwa saat memanggil semua antarmuka WeChat, Anda harus menggunakan protokol HTTPS.
Deskripsi Permintaan Panggilan Antarmuka
Metode Permintaan HTTP: Dapatkan
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=appid&secret=appsecret
Deskripsi parameter
Kembali ke deskripsi
Dalam keadaan normal, WeChat akan mengembalikan paket JSON berikut ke akun resmi:
{"access_token": "access_token", "Expires_in": 7200}
Ketika kesalahan terjadi, WeChat akan mengembalikan kode kesalahan dan informasi lainnya. Contoh paket JSON adalah sebagai berikut (contoh ini adalah kesalahan appid yang tidak valid):
{"errcode": 40013, "errmsg": "appid tidak valid"}
2. Implementasi Kode
Appid, appsecret dapat diperiksa di akun publik
Paket com.zhrd.bussinss.platform.screduled; impor java.io.inputstream; impor java.net.httpurlconnection; impor java.net.url; impor org.springframework.beans.factory.annotation.Autowired; impor org.spramork. org.springframework. net.sf.json.jsonObject; @component @lazy (false) kelas publik getweixIncescesstokenscheduled { / ** * dapatkan akses_token * * @title: getAccess_token * @description: get access_toker * @param @return File pengaturan * @return string tipe * @throws * @aMpl * @Aparam @return * @return string tipe string * @throws * @a / @a @Param @return * @return string @return * @throws * @aMlrows * @a / @a @prowire * @Scheduled (fixedRateString = "$ {weixin.token.fixedrate.in.milliseconds}", initialDelaystring = "$ {weixin.token.initialdelay.in.milliseconds}") void publik getAccessToken () {in.milliseconds} ") public void getAccessToken () {) System.out.println ("===================== 获取 token 开始 ================================"); String url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" + weixinid.appid + "& Secret =" + weixinid.appsecret; String accessToken = null; String kedaluwarsa = null; coba {url urlget = URL baru (url); HttpurlConnection http = (httpurlConnection) urlget.openconnection (); http.setRequestMethod ("get"); // Anda harus meminta http.setRequestProperty ("tipe konten", "Application/X-WWW-Form-Urlencoded"); http.setDoOutput (true); http.setDoInput (true); http.connect (); InputStream adalah = http.getInputStream (); ukuran int = is.vailable (); byte [] jsonbytes = byte baru [ukuran]; is.read (jsonbytes); String message = string baru (jsonbytes, "UTF-8"); JsonObject demojson = jsonobject.fromObject (pesan); accessToken = demojson.getString ("access_token"); kedaluwarsa = demojson.getString ("Expires_in"); System.out.println ("AccessToken ===="+AccessToken); System.out.println ("Expiresin ==="+Expiresin); AccessToKenServiceImpl.AddToken (AccessToken, Expiresin); System.out.println ("==================================================================================================================================== System.out.printStackTrace ();} // Return AccessToken; Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.