Access_Tokenは、公式アカウントのグローバルにユニークなチケットです。公式アカウントの各インターフェイスを呼び出すときは、Access_Tokenが必要です。開発者はそれを適切に保存する必要があります。 Access_Tokenのストレージは、少なくとも512文字のスペースを保持する必要があります。 Access_Tokenの有効期間は現在2時間であり、定期的に更新する必要があります。繰り返し取得すると、前回取得したAccess_Tokenが無効になります。
パブリックプラットフォームのAPI呼び出しに必要なAccess_tokenの使用方法と生成方法の説明:
1. AppSecRect Confidentialを維持するために、サードパーティはCentral Control Serverを取得および更新するためにAccess_Tokenを必要とします。他のビジネスロジックサーバーが使用するAccess_Tokenはすべて中央の制御サーバーからのものであり、個別に更新されるべきではありません。そうしないと、Access_Tokenがビジネスにカバーして影響を与えます。
2。Access_Tokenの現在の有効期間は、返されたexpire_inを通じて伝えられ、現在7200秒以内の値です。中央制御サーバーは、この有効な時間に基づいて事前に新しいAccess_Tokenを更新する必要があります。更新プロセス中、セントラルコントロールサーバーは、古いAccess_tokenを外側に出力します。この時点で、パブリックプラットフォームの背景により、新品と古いAccess_Tokensの両方が短い期間のリフレッシュ期間に利用可能になることを保証し、サードパーティサービスのスムーズな移行を保証します。
3. Access_Tokenの有効な時間は、将来調整される場合があります。したがって、中央の制御サーバーは、内部的に定期的に更新する必要があるだけでなく、Access_Tokenのパッシブリフレッシュのためのインターフェイスを提供する必要があります。これにより、ACACES_TOKENがタイミングを出したことがAPIコールが知っている場合、Access_Tokenの更新プロセスをトリガーするビジネスサーバーが容易になります。
サードパーティが中央制御サーバーを使用せず、代わりに各ビジネスロジックポイントを選択してAccess_Tokenを更新する場合、競合が発生し、不安定なサービスが発生する可能性があります。
公式アカウントは、AppIDとAppSecretを使用してこのインターフェイスを呼び出してAccess_Tokenを取得できます。 AppIDとAppSecretは、WeChat Public Platformの公式Webサイト - 開発者センターページで取得できます(開発者になる必要があり、アカウントには異常なステータスはありません)。すべてのWeChatインターフェイスを呼び出すときは、HTTPSプロトコルを使用する必要があることに注意してください。
インターフェイスコールリクエストの説明
HTTPリクエスト方法:get
https://api.weixin.qc.com/cgi-bin/token?grant_type=client_credential&appid=appid&secret=appsecret
パラメーターの説明
説明に戻ります
通常の状況では、WeChatは次のJSONパケットを公式アカウントに返します。
{"Access_token": "Access_token"、 "expires_in":7200}
エラーが発生すると、WeChatはエラーコードやその他の情報を返します。 JSONパケットの例は次のとおりです(この例は無効なAPPIDエラーです):
{"errcode":40013、 "errmsg": "無効なappid"}
2。コード実装
appid、appsecretはパブリックアカウントで確認できます
パッケージcom.zhrd.bussinss.platform.scheduled; import java.io.inputStream; import java.net.httpurlconnection; Import java.net.url; import org.springframework.beans.factory.annotation.autowired org.springframework.scheduling.annotation.scheduled; import org.springframework.stereotype.component; Import com.zhrd.bussinss.platform.constants.weixinid; Import com.zhrd.bussinss.platform.service.AccesTokenService; Import; net.sf.json.jsonobject; @component @lazy(false)public class getWeixinAcsTokenScheduled { / ** * get Access_token * * @title:getAccess_token * @description:get Access_token * @param @return Settingファイル * @return accessim * / @autowired privateervice @scheduled(fixedratestring = "$ {weixin.token.fixedrate.in.milliseconds}"、initialdelaystring = "$ {weixin.token.initialdelay.in.milliseconds}") " System.out.println( "=================================================================================================== string url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid =" + weixinid.appid + "&secret =" + weixinid.appsecret;文字列AccessToken = null;文字列expiresin = null; try {url urlget = new url(url); httpurlconnection http =(httpurlconnection)urlget.openconnection(); http.setRequestMethod( "get"); // http.setRequestProperty( "content-type"、 "application/x-www-form-urlencoded");を要求する必要があります。 http.setdooutput(true); http.setdoinput(true); http.connect(); inputstream is = http.getInputStream(); int size = is.abailable(); byte [] jsonbytes = new byte [size]; is.read(jsonbytes);文字列メッセージ= new String(jsonbytes、 "utf-8"); jsonobject demojson = jsonobject.fromobject(message); AccessToken = demojson.getString( "Access_Token"); expiresin = demojson.getString( "expires_in"); System.out.println( "AccessToken ===="+AccessToken); System.out.println( "expiresin ==="+expiresin); AccessTokenServiceImpl.AddToken(AccessToken、Expiresin); System.out.println( "========================================================================================= system.out.printstacktrace();上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。