最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

微信支付java版本之獲取Access_token

 更新時間:2016年08月04日 15:00:59   作者:dawei_wxw  
這篇文章主要介紹了微信支付java版本之獲取Access_token,java如何獲取Access_token,感興趣的小伙伴們可以參考一下

access_token是公眾號的全局唯一票據,公眾號調用各接口時都需使用access_token。開發(fā)者需要進行妥善保存。access_token的存儲至少要保留512個字符空間。access_token的有效期目前為2個小時,需定時刷新,重復獲取將導致上次獲取的access_token失效。 

公眾平臺的API調用所需的access_token的使用及生成方式說明:

1、為了保密appsecrect,第三方需要一個access_token獲取和刷新的中控服務器。而其他業(yè)務邏輯服務器所使用的access_token均來自于該中控服務器,不應該各自去刷新,否則會造成access_token覆蓋而影響業(yè)務;
2、目前access_token的有效期通過返回的expire_in來傳達,目前是7200秒之內的值。中控服務器需要根據這個有效時間提前去刷新新access_token。在刷新過程中,中控服務器對外輸出的依然是老access_token,此時公眾平臺后臺會保證在刷新短時間內,新老access_token都可用,這保證了第三方業(yè)務的平滑過渡;
3、access_token的有效時間可能會在未來有調整,所以中控服務器不僅需要內部定時主動刷新,還需要提供被動刷新access_token的接口,這樣便于業(yè)務服務器在API調用獲知access_token已超時的情況下,可以觸發(fā)access_token的刷新流程。 

如果第三方不使用中控服務器,而是選擇各個業(yè)務邏輯點各自去刷新access_token,那么就可能會產生沖突,導致服務不穩(wěn)定。 

公眾號可以使用AppID和AppSecret調用本接口來獲取access_token。AppID和AppSecret可在微信公眾平臺官網-開發(fā)者中心頁中獲得(需要已經成為開發(fā)者,且?guī)ぬ枦]有異常狀態(tài))。注意調用所有微信接口時均需使用https協(xié)議。

接口調用請求說明
http請求方式: GET
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET 

參數(shù)說明

 

返回說明

 

正常情況下,微信會返回下述JSON數(shù)據包給公眾號:
 {"access_token":"ACCESS_TOKEN","expires_in":7200} 

錯誤時微信會返回錯誤碼等信息,JSON數(shù)據包示例如下(該示例為AppID無效錯誤):
{"errcode":40013,"errmsg":"invalid appid"}

2.代碼實現(xiàn)

APPID,APPSECRET在公眾賬號中可查詢

package com.zhrd.bussinss.platform.scheduled;

import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import com.zhrd.bussinss.platform.constants.WeiXinId;
import com.zhrd.bussinss.platform.service.AccessTokenService;

import net.sf.json.JSONObject;

@Component
@Lazy(false)
public class GetWeiXinAccessTokenScheduled {
 
 /**

   * 獲得ACCESS_TOKEN

   *

   * @Title: getAccess_token

   * @Description: 獲得ACCESS_TOKEN

   * @param @return 設定文件

   * @return String 返回類型

   * @throws

   */
 
 @Autowired
 private AccessTokenService accessTokenServiceImpl;
 
 
 @Scheduled(fixedRateString = "${weixin.token.fixedRate.in.milliseconds}"
  , initialDelayString = "${weixin.token.initialDelay.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 expiresIn = null;

    try {

      URL urlGet = new URL(url);

      HttpURLConnection http = (HttpURLConnection) urlGet.openConnection();

      http.setRequestMethod("GET"); // 必須是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.available();

      byte[] jsonBytes = new byte[size];

      is.read(jsonBytes);

      String message = 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("====================獲取token結束==============================");

      is.close();

    } catch (Exception e) {

      e.printStackTrace();

    }

//    return accessToken;

  }
 
}

 以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • idea2022創(chuàng)建javaweb項目步驟(超詳細)

    idea2022創(chuàng)建javaweb項目步驟(超詳細)

    本文主要介紹了idea2022創(chuàng)建javaweb項目步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-07-07
  • java基于jdbc連接mysql數(shù)據庫功能實例詳解

    java基于jdbc連接mysql數(shù)據庫功能實例詳解

    這篇文章主要介紹了java基于jdbc連接mysql數(shù)據庫功能,結合實例形式詳細分析了jdbc連接mysql數(shù)據庫的原理、步驟、實現(xiàn)方法及相關操作技巧,需要的朋友可以參考下
    2017-10-10
  • 如何為Repository添加自定義方法

    如何為Repository添加自定義方法

    這篇文章主要介紹了如何為Repository添加自定義方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • @RequestBody不能映射到對象的解決

    @RequestBody不能映射到對象的解決

    這篇文章主要介紹了@RequestBody不能映射到對象的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • Java String字符串和Unicode字符相互轉換代碼詳解

    Java String字符串和Unicode字符相互轉換代碼詳解

    這篇文章主要介紹了Java String字符串和Unicode字符相互轉換代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-05-05
  • SpringMVC中的表現(xiàn)層結果封裝

    SpringMVC中的表現(xiàn)層結果封裝

    這篇文章主要介紹了SpringMVC中的表現(xiàn)層結果封裝,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • java實現(xiàn)簡單掃雷游戲

    java實現(xiàn)簡單掃雷游戲

    這篇文章主要為大家詳細介紹了java實現(xiàn)簡單掃雷游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • 關于Java 中的 Lambda 表達式

    關于Java 中的 Lambda 表達式

    這篇文章主要介紹了關于Java 中的 Lambda 表達式,Lambda 表達式是 Java 涉足函數(shù)式編程的過程。它接受參數(shù)并將其應用于表達式或代碼塊,下面一起進入文章查看詳細內容
    2021-11-11
  • mybatis時間范圍查詢代碼示例

    mybatis時間范圍查詢代碼示例

    這篇文章主要給大家介紹了關于mybatis時間范圍查詢的相關資料,在項?中避免不了要?到時間范圍查詢,文中通過代碼示例介紹的非常詳細,需要的朋友可以參考下
    2023-08-08
  • Spring AOP失效的常見場景分析

    Spring AOP失效的常見場景分析

    Spring的AOP(面向切面編程)是一種強大的技術,用于在應用程序中實現(xiàn)橫切關注點的模塊化,雖然Spring的AOP在大多數(shù)情況下都是有效的,但在某些場景下可能會失效,下面來分析Spring AOP失效的常見場景,需要的朋友可以參考下
    2024-01-01

最新評論

凤山市| 白朗县| 绍兴县| 宁强县| 遂宁市| 营口市| 桐乡市| 芦溪县| 宁国市| 浦北县| 富顺县| 福建省| 滦南县| 肇州县| 东乌珠穆沁旗| 轮台县| 玉龙| 威宁| 安乡县| 双江| 田林县| 江北区| 定西市| 荥阳市| 蒲江县| 新沂市| 太和县| 蒙自县| 左贡县| 惠东县| 黔西| 涟源市| 双鸭山市| 哈巴河县| 嘉黎县| 阿勒泰市| 柳江县| 洛南县| 嵩明县| 汕尾市| 贵州省|