pudongliang před 5 měsíci
rodič
revize
19aa2ac33f

+ 6 - 1
TODO.md

@@ -8,4 +8,9 @@
 
 - 生成授权表结构
 - 获取token
-- 生成定时任务维护token
+- 生成定时任务维护token
+
+
+福建茂同刘文化传媒有限公司南 66612379 线索企微
+
+福建茂同刘文化传媒有限公司南 76057781 roi 

+ 2 - 0
src/main/java/com/moka/gdtauto/config/TencentAdsConfig.java

@@ -15,6 +15,8 @@ public class TencentAdsConfig {
     private String userTokenRedirectUri;
 
     private String oAuthRedirectUri;
+    private String oauthOkRedirectUri;
+    
 
     /**
      * 应用ID

+ 11 - 5
src/main/java/com/moka/gdtauto/controller/TencentAdsAuthController.java

@@ -13,6 +13,9 @@ import org.springframework.web.bind.annotation.*;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
 
 /**
  * 腾讯广告OAuth授权控制器
@@ -86,13 +89,10 @@ public class TencentAdsAuthController {
             @Parameter(description = "授权码,由腾讯广告平台回调时携带", required = true, example = "auth_code_example_123456")
             @RequestParam("authorization_code") String authorizationCode,
             @Parameter(description = "状态参数,用于校验请求合法性", example = "手机号码")
-            @RequestParam(required = false) String state,
-            @Parameter(description = "回调地址,必须与获取授权URL时的redirectUri一致", required = false, example = "http://your-domain.com/callback")
-            @RequestParam("redirect_uri") String redirectUri) {
+            @RequestParam(required = false) String state) {
         Map<String, Object> result = new HashMap<>();
         try {
-            redirectUri = java.net.URLEncoder.encode(redirectUri, "UTF-8");
-            TencentAdsAuth auth = authService.getAccessToken(authorizationCode, state, redirectUri);
+            TencentAdsAuth auth = authService.getAccessToken(authorizationCode, state);
             result.put("success", true);
             result.put("data", auth);
             result.put("message", "授权成功,已保存token信息");
@@ -105,6 +105,12 @@ public class TencentAdsAuthController {
         return result;
     }
 
+    @GetMapping("ok")
+    public String oAuthOK() {
+        return "OK";
+    }
+    
+
     /**
      * 手动刷新访问令牌
      * 使用SDK的OAuth API刷新token

+ 4 - 2
src/main/java/com/moka/gdtauto/service/TencentAdsAuthService.java

@@ -155,16 +155,18 @@ public class TencentAdsAuthService extends ServiceImpl<TencentAdsAuthMapper, Ten
      * @throws Exception API异常
      */
     @Transactional(rollbackFor = Exception.class)
-    public TencentAdsAuth getAccessToken(String authorizationCode, String state, String redirectUri) throws Exception {
+    public TencentAdsAuth getAccessToken(String authorizationCode, String state) throws Exception {
         try {
             // 初始化TencentAds实例
             TencentAds tencentAds = TencentAds.getInstance();
-            tencentAds.init(new ApiContextConfig());
+            tencentAds.init(new ApiContextConfig().isDebug(true));
             
             // 调用OAuth API获取token
             Long clientId = Long.parseLong(tencentAdsConfig.getClientId());
             String clientSecret = tencentAdsConfig.getSecret();
             String grantType = "authorization_code";
+            String redirectUri = tencentAdsConfig.getOauthOkRedirectUri();
+            redirectUri = java.net.URLEncoder.encode(redirectUri, "UTF-8");
             
             // 按照SDK的方法签名调用
             OauthTokenResponseData responseData = tencentAds.oauth()

+ 1 - 0
src/main/resources/application.yml

@@ -51,5 +51,6 @@ tencent:
   ads:
     user-token-redirect-uri: https://moka-auto.mokamrp.com/api/gdt/auth/user-token-callback
     oauth-redirect-uri: https://moka-auto.mokamrp.com/api/gdt/auth/callback
+    oauth-ok-redirect-uri: https://moka-auto.mokamrp.com/api/gdt/auth/ok
     client-id: 1112036271
     secret: CPemSOpMcp8KO1Ie