小程序中Java后台调用接口(getAccessToken)获取调用凭据,调用接口(msgSecCheck)检测文本内容是否安全--最终版

本文档介绍了在Java后台如何调用小程序的getAccessToken和msgSecCheck接口,以检测文本内容的安全性。通过在服务器端进行接口调用,避免了小程序前端配置服务器域名的问题。详细步骤包括添加依赖、调用接口等,并强调了请求编码需设为utf-8的重要性。文中还提供了输入文本的示例及预期输出,分享了作者的心得体会。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

序言:书接上一篇文章:小程序前端调用接口(getAccessToken)获取调用凭据,调用接口(msgSecCheck)检测文本内容是否安全–最终版
原因:在前端测试时,使用小程序工具的真机调试,是可以跑通的,但你用小程序工具的预览模式就会没有响应。原因就在于访问wx.request({}),中的服务器网址 ,需要在小程序开发管理 》》开发设置 》》 服务器域名 中配置,而小程序提供的接口https://api.weixin.qq.com ,又恰恰不允许在服务器域名中配置,
所以: 官网的意见就是把调用文本检测安全的接口写在服务端,就可以避免这种情况发生。因为调用接口部署到服务器,就可以不用在服务器域名中配置https://api.weixin.qq.com。因此写了此篇文章。

第一步:添加需要的pom.xml依赖配置


<!-- 小程序文本安全检测接口所需的依赖  -->
    <dependency>
	    <groupId>org.apache.httpcomponents</groupId>
	    <artifactId>httpclient</artifactId>
	    <version>4.5.13</version>
	</dependency>
	 <dependency>
	    <groupId>cn.hutool</groupId>
	    <artifactId>hutool-all</artifactId>
	    <version>5.7.16</version>
	</dependency>

第二步:小程序中Java后台调用接口(getAccessToken)获取调用凭据


 private static final String TOKEN_URL = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=小程序APPID&secret=小程序密钥";
 // 调用接口(getAccessToken)获取调用凭据
    private static String getAccessToken() {
   
    
        HttpClient client = HttpClients.createDefault();
        HttpPost post = new HttpPost(TOKEN_URL);
 
        try {
   
            HttpResponse response = client.execute(post);
            String result = EntityUtils.toString(response.getEntity(), "UTF-8");
            JSONObject jsonObject = new JSONObject(result);
            return jsonObject.getString("access_token");
        } catch (Exception e) {
   
            e.printStackTrace()
OAuth2 是一种授权协议,用于在不暴露用户凭据的情况下,授权第三方应用访问用户资源。在 OAuth2 中,应用程序需要获取一个访问令牌(access token),以便可以使用该令牌来访问受保护的资源。 要调用 `getAccessToken` 方法,需要先注册一个 OAuth2 应用程序,并通过授权流程获得一个访问令牌。然后,你可以使用这个访问令牌来调用 `getAccessToken` 方法,以获取访问令牌的详细信息。 下面是一个示例代码,用于调用 `getAccessToken` 方法: ``` import org.springframework.security.oauth2.client.OAuth2RestTemplate; import org.springframework.security.oauth2.client.token.grant.client.ClientCredentialsResourceDetails; public class AccessTokenService { public String getAccessToken() { ClientCredentialsResourceDetails resourceDetails = new ClientCredentialsResourceDetails(); resourceDetails.setAccessTokenUri("https://example.com/oauth/token"); resourceDetails.setClientId("client-id"); resourceDetails.setClientSecret("client-secret"); resourceDetails.setGrantType("client_credentials"); OAuth2RestTemplate restTemplate = new OAuth2RestTemplate(resourceDetails); return restTemplate.getAccessToken().getValue(); } } ``` 在这个示例代码中,我们使用 Spring Security OAuth2 库来获取访问令牌。我们创建了一个 `ClientCredentialsResourceDetails` 对象,设置了访问令牌的 URI、客户端 ID 和客户端密钥,并指定了授权类型为 `client_credentials`。然后,我们使用这个 `resourceDetails` 对象来创建一个 `OAuth2RestTemplate` 对象,并调用 `getAccessToken` 方法来获取访问令牌的详细信息。最后,我们返回访问令牌的值。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

曦月合一

你的鼓励是我们前进的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值