当前位置: 首页 > wzjs >正文

国际新闻头条最新热点新闻搜狗整站优化

国际新闻头条最新热点新闻,搜狗整站优化,wordpress国内备份神器,海盐网站建设在企业微信开发中,使用 Java 获取 jsapi_ticket 并生成签名的步骤如下。以下是完整的 Java 示例代码。 1. 获取 jsapi_ticket 的流程 获取 access_token。 使用 access_token 获取 jsapi_ticket。 使用 jsapi_ticket 生成签名(signature)。…

在企业微信开发中,使用 Java 获取 jsapi_ticket 并生成签名的步骤如下。以下是完整的 Java 示例代码。


1. 获取 jsapi_ticket 的流程

  1. 获取 access_token

  2. 使用 access_token 获取 jsapi_ticket

  3. 使用 jsapi_ticket 生成签名(signature)。


2. Java 示例代码

以下是一个完整的 Java 示例,展示如何获取 jsapi_ticket 并生成签名。

依赖

确保项目中引入了以下依赖(如使用 Maven):

xml

复制

<dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>4.5.13</version>
</dependency>
<dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.83</version>
</dependency>

运行 HTML

代码实现

java

复制

import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import com.alibaba.fastjson.JSONObject;import java.io.IOException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.UUID;public class WeChatJsApiTicket {// 获取 access_token 的接口地址private static final String ACCESS_TOKEN_URL = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=%s&corpsecret=%s";// 获取 jsapi_ticket 的接口地址private static final String JSAPI_TICKET_URL = "https://qyapi.weixin.qq.com/cgi-bin/get_jsapi_ticket?access_token=%s";// 企业 ID 和应用 Secretprivate static final String CORP_ID = "YOUR_CORP_ID";private static final String CORP_SECRET = "YOUR_CORP_SECRET";/*** 发送 HTTP GET 请求*/private static String httpGet(String url) throws IOException {try (CloseableHttpClient httpClient = HttpClients.createDefault()) {HttpGet httpGet = new HttpGet(url);try (CloseableHttpResponse response = httpClient.execute(httpGet)) {HttpEntity entity = response.getEntity();return EntityUtils.toString(entity);}}}/*** 获取 access_token*/public static String getAccessToken() throws IOException {String url = String.format(ACCESS_TOKEN_URL, CORP_ID, CORP_SECRET);String response = httpGet(url);JSONObject json = JSONObject.parseObject(response);return json.getString("access_token");}/*** 获取 jsapi_ticket*/public static String getJsApiTicket(String accessToken) throws IOException {String url = String.format(JSAPI_TICKET_URL, accessToken);String response = httpGet(url);JSONObject json = JSONObject.parseObject(response);return json.getString("ticket");}/*** 生成签名*/public static String generateSignature(String jsapiTicket, String noncestr, String timestamp, String url) {String string = "jsapi_ticket=" + jsapiTicket +"&noncestr=" + noncestr +"&timestamp=" + timestamp +"&url=" + url;try {MessageDigest digest = MessageDigest.getInstance("SHA-1");digest.update(string.getBytes());byte[] messageDigest = digest.digest();StringBuilder hexString = new StringBuilder();for (byte b : messageDigest) {String shaHex = Integer.toHexString(b & 0xFF);if (shaHex.length() < 2) {hexString.append(0);}hexString.append(shaHex);}return hexString.toString();} catch (NoSuchAlgorithmException e) {throw new RuntimeException("SHA-1 algorithm not found");}}public static void main(String[] args) throws IOException {// 1. 获取 access_tokenString accessToken = getAccessToken();System.out.println("access_token: " + accessToken);// 2. 获取 jsapi_ticketString jsapiTicket = getJsApiTicket(accessToken);System.out.println("jsapi_ticket: " + jsapiTicket);// 3. 生成签名String noncestr = UUID.randomUUID().toString();String timestamp = Long.toString(System.currentTimeMillis() / 1000);String url = "https://example.com"; // 当前页面的 URLString signature = generateSignature(jsapiTicket, noncestr, timestamp, url);System.out.println("noncestr: " + noncestr);System.out.println("timestamp: " + timestamp);System.out.println("signature: " + signature);}
}

3. 代码说明

  1. 获取 access_token:

    • 使用企业 ID (CORP_ID) 和应用 Secret (CORP_SECRET) 调用企业微信 API 获取 access_token

  2. 获取 jsapi_ticket:

    • 使用 access_token 调用企业微信 API 获取 jsapi_ticket

  3. 生成签名:

    • 使用 jsapi_ticket、随机字符串 (noncestr)、时间戳 (timestamp) 和当前页面的 URL 生成签名 (signature)。

  4. SHA-1 加密:

    • 使用 Java 的 MessageDigest 类对字符串进行 SHA-1 加密。


4. 输出示例

运行代码后,输出如下:

复制

access_token: YOUR_ACCESS_TOKEN
jsapi_ticket: YOUR_JSAPI_TICKET
noncestr: 6a8e5f4e-3b1a-4c2d-9f8e-1a2b3c4d5e6f
timestamp: 1698765432
signature: 1f3a5e7b9c2d4f6a8b0c1d2e3f4a5b6c7d8e9f0

5. 注意事项

  1. 缓存 access_token 和 jsapi_ticket:

    • 由于 access_token 和 jsapi_ticket 的有效期均为 7200 秒(2 小时),建议在服务器端缓存它们,避免频繁调用接口。

  2. URL 参数:

    • 生成签名时,URL 必须是当前页面的完整 URL(不包括 # 及其后面部分)。

  3. 安全性:

    • access_token 和 jsapi_ticket 是敏感信息,不要泄露给客户端或第三方。


通过以上代码,你可以在 Java 中实现企业微信 jsapi_ticket 的获取和签名生成。

http://www.dtcms.com/wzjs/437723.html

相关文章:

  • 做网站备负责人风险大吗360网站收录
  • 淘宝优惠劵做网站模版宁波网络营销策划公司
  • 做美工的网站网站优化价格
  • 做标签网站是什么广东培训seo
  • 网站开发业务怎么开展百度广告费用
  • 免费建设自己的网站网络营销学院
  • 色情网站是怎么建设的网络搜索优化
  • 苏州网站小程序app开发公司自媒体怎么入门
  • 三九集团如何进行网站建设微商软文大全
  • 厦门建设集团网站市场营销十大经典案例
  • 重庆潼南网站建设哪家便宜网站排名查询软件
  • wordpress 用户水印茂名seo快速排名外包
  • 网站项目名称南京网站设计优化公司
  • 苏州公司建设网站首页推一手新闻发稿平台
  • 物流网站制作关键词指数批量查询
  • o2o商城网站制作搜索引擎分析论文
  • 做网站放博彩广告如何用网站模板建站
  • 做网站买什么笔记本好网络营销与直播电商是干什么的
  • 无锡做网站上海整站seo
  • 深圳网站建设费用什么是seo如何进行seo
  • 青创网石狮服装批发网seo 优化顾问
  • 改善网站建设超级推荐的关键词怎么优化
  • 香港 网站建设 可视化网站程序seo查询网站是什么
  • 遵义网站开发培训湖南专业seo优化
  • 网站版面做的很好的公司推广哪个平台好
  • 沈阳网站建设的价格广州网站seo推广
  • 凡科网站备案兰州seo培训
  • 企业网站可概括为2022年7到8月份的十大新闻
  • 网站推广营销燃灯seo
  • wordpress 做大网站淘宝推广方法有哪些