Access_token - это глобально уникальный билет официальной учетной записи. Access_token требуется при вызове каждого интерфейса официальной учетной записи. Разработчики должны сохранить его должным образом. Хранение Access_token должно сохранить не менее 512 пространства символов. Период достоверности Access_token в настоящее время составляет 2 часа и должен регулярно обновляться. Повторное приобретение приведет к недействительным Access_token, который вы получили в прошлый раз.
Описание метода использования и генерации Access_token, необходимого для вызовов API общедоступных платформ:
1. Чтобы сохранить конфиденциальность приложения, третьим сторонам нужен доступ к Access_token, чтобы получить и обновить центральный сервер управления. Access_token, используемый другими серверами бизнес -логики, поступает с центрального сервера управления и не должен обновляться отдельно, в противном случае это приведет к тому, что Access_token покрывает и влияет на бизнес;
2. Текущий период достоверности Access_token передается через возвращенную expire_in и в настоящее время является значением в течение 7200 секунд. Центральный сервер управления должен обновить новый Access_token заранее в зависимости от этого действительного времени. Во время процесса обновления центральный сервер управления по -прежнему выводит старый Access_token снаружи. В настоящее время общедоступная платформа гарантирует, что как новые, так и старые Access_tokens доступны за короткий период освежения, что обеспечивает плавный переход сторонних служб;
3. Допустимое время Access_token может быть скорректировано в будущем. Следовательно, центральный сервер управления должен не только регулярно обновляться внутри, но и должен предоставить интерфейс для пассивного обновления Access_token, что облегчает бизнес -сервер, чтобы запустить процесс обновления Access_token, когда вызов API знает, что Access_Token поступил.
Если третья сторона не использует центральный сервер управления, но вместо этого выбирает каждую точку бизнес -логики, чтобы обновить access_token, может возникнуть конфликты, что приведет к нестабильному сервису.
Официальная учетная запись может использовать Appid и AppSecret для вызова этого интерфейса для получения Access_token. Appid и AppSecret можно получить на официальном веб -сайте WeChat Public Platform - странице Developer Center (необходимо стать разработчиком, а учетная запись не имеет ненормального статуса). Обратите внимание , что при вызове всех интерфейсов WeChat вы должны использовать протокол HTTPS.
Описание запроса на звонок интерфейса
HTTP -метод запроса: получить
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=appid&secret=appsecret
Описание параметра
Вернуться к описанию
При нормальных обстоятельствах WeChat вернет следующий пакет JSON в официальный счет:
{"access_token": "access_token", "expires_in": 7200}
Когда произойдет ошибка, WeChat вернет коды ошибок и другую информацию. Пример пакета JSON заключается в следующем (этот пример является неверной аппидной ошибкой):
{"errcode": 40013, "errmsg": "Invalid Appid"}
2. Реализация кода
Appid, AppSecret может быть проверен на публичных счетах
пакет com.zhrd.bussinss.platform.scheduled; импорт java.io.inputstream; импорт java.net.httpurlconnection; импорт java.net.url; import org.springframework.beans.factory.annotation.autowired; import org.spramework.contation.annotation.Antation.Autowired; org.springframework.scheduling.annotation.scheduled; импорт org.springframework.steplotype.component; импорт com.zhrd.bussins.platform.constants.wexinid; импорт com.zhrd.bussins.platform.service.accesstokenservice; net.sf.json.JSONObject;@Component@Lazy(false)public class GetWeiXinAccessTokenScheduled { /** * Get ACCESS_TOKEN * * @Title: getAccess_token * @Description: Get ACCESS_TOKEN * @param @return Setting File* @return String Return Type* @throws */ @Autowired private AccessTokenService accessTokenServiceImpl; @Scheduled (fixdratestring = "$ {weixin.token.fixedrate.in.milliseconds}", initialledaystring = "$ {weixin.token.initialdelay.in.milliseconds}") public getAccessoken () { System.out.println ("==================== 获取 Токен 开始 =============================================================== String url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" + weixinid.appid + "& secret =" + weixinid.appsecret; String accessToken = null; Строка истекает = null; try {url urlget = new url (url); Httpurlconnection http = (httpurlconnection) urlget.openconcection (); http.setrequestmethod ("Get"); // Вы должны запросить http.setrequestproperty ("content-type", "Application/xwww-form-urlencoded"); http.setDoOutput (true); http.setDoinput (true); http.connect (); InputStream IS = http.getInputStream (); int size = is.vailable (); byte [] jsonbytes = new Byte [size]; is.read (jsonbytes); String Message = new String (jsonBytes, "UTF-8"); JsonObject demojson = jsonObject.fromObject (сообщение); accesstoken = demojson.getString ("access_token"); истекает = demojson.getString ("oxry_in"); System.out.println ("accesstoken ===="+accesstoken); System.out.println ("expiresin ==="+истекает); AccessTokenServiceImpl.AddToken (AccessToken, истекает); System.out.println ("========================================================================================================================= System.out.printstacktrace (); Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.