华为 hms 推送配置中hms.appSecret 取哪个值

李飞 29天前 120

是要从客户端凭证 ID 中找,还是从 API 密钥里找,或者是别的地方

最新回复 (5)
  • 李飞 25天前
    引用 2
    鸿蒙的推送问题没有人回答么,也没有鸿蒙的分类啊,我的推送,没收到消息,不知道跟这个配置有没有关系,hms.appSecret 是取 OAuth2.0 里的,还是取 API 密钥里的啊
  • x86 25天前
    引用 3
    应当是 API 密钥 里面的
  • 李飞 17天前
    引用 4
    我用 API 密钥的报错了,SLF4J: Class path contains multiple SLF4J bindings.
    SLF4J: Found binding in [jar:file:/root/push-server/push-0.1.2.jar!/BOOT-INF/lib/logback-classic-1.2.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]
    SLF4J: Found binding in [jar:file:/root/push-server/push-0.1.2.jar!/BOOT-INF/lib/log4j-slf4j-impl-2.17.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
    SLF4J: Found binding in [jar:file:/root/push-server/push-0.1.2.jar!/BOOT-INF/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
    SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
    SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder]

      .   ____          _            __ _ _
     /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
    ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
     \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
      '  |____| .__|_| |_|_| |_\__, | / / / /
     =========|_|==============|___/=/_/_/_/
     :: Spring Boot ::        (v2.0.6.RELEASE)

    2025-11-05 10:35:19.644  INFO 1733787 --- [           main] cn.wildfirechat.push.PushApplication     : Starting PushApplication v0.1.2 on VM-12-7-opencloudos with PID 1733787 (/root/push-server/push-0.1.2.jar started by root in /root/push-server)
    2025-11-05 10:35:19.649  INFO 1733787 --- [           main] cn.wildfirechat.push.PushApplication     : No active profile set, falling back to default profiles: default
    2025-11-05 10:35:19.784  INFO 1733787 --- [           main] ConfigServletWebServerApplicationContext : Refreshing org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@555590: startup date [Wed Nov 05 10:35:19 CST 2025]; root of context hierarchy
    2025-11-05 10:35:22.336  INFO 1733787 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8085 (http)
    2025-11-05 10:35:22.375  INFO 1733787 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
    2025-11-05 10:35:22.375  INFO 1733787 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet Engine: Apache Tomcat/8.5.34
    2025-11-05 10:35:22.401  INFO 1733787 --- [ost-startStop-1] o.a.catalina.core.AprLifecycleListener   : The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib]
    2025-11-05 10:35:22.501  INFO 1733787 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
    2025-11-05 10:35:22.502  INFO 1733787 --- [ost-startStop-1] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 2724 ms
    2025-11-05 10:35:22.585  INFO 1733787 --- [ost-startStop-1] o.s.b.w.servlet.ServletRegistrationBean  : Servlet dispatcherServlet mapped to [/]
    2025-11-05 10:35:22.589  INFO 1733787 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'characterEncodingFilter' to: [/*]
    2025-11-05 10:35:22.589  INFO 1733787 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'hiddenHttpMethodFilter' to: [/*]
    2025-11-05 10:35:22.589  INFO 1733787 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'httpPutFormContentFilter' to: [/*]
    2025-11-05 10:35:22.589  INFO 1733787 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'requestContextFilter' to: [/*]
    2025-11-05 10:35:23.844 ERROR 1733787 --- [           main] c.w.push.android.oppo.OppoPush           : OppoPush init failed
    java.lang.RuntimeException: get token error: {"reason":"OK","returnCode":{"code":16,"message":"Invalid Signature"},"statusCode":200}
           at com.oppo.push.server.Auth.getAuthResultWithRetry(Auth.java:55)
           at com.oppo.push.server.Auth.getAuthResult(Auth.java:33)
           at com.oppo.push.server.Sender.setToken(Sender.java:56)
           at com.oppo.push.server.Sender.<init>(Sender.java:49)
           at cn.wildfirechat.push.android.oppo.OppoPush.init(OppoPush.java:31)
           at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
           at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
           at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
           at java.lang.reflect.Method.invoke(Method.java:498)
           at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:366)
           at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:309)
           at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:136)
           at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:416)
           at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1686)
           at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:573)
           at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:495)
           at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:317)
           at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
           at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:315)
           at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
           at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:251)
           at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1135)
           at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1062)
           at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:581)
           at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:90)
           at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:370)
           at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1336)
           at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:572)
           at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:495)
           at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:317)
           at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
           at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:315)
           at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
           at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:759)
           at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)
           at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:548)
           at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:140)
           at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754)
           at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:386)
           at org.springframework.boot.SpringApplication.run(SpringApplication.java:307)
           at org.springframework.boot.SpringApplication.run(SpringApplication.java:1242)
           at org.springframework.boot.SpringApplication.run(SpringApplication.java:1230)
           at cn.wildfirechat.push.PushApplication.main(PushApplication.java:9)
           at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
           at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
           at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
           at java.lang.reflect.Method.invoke(Method.java:498)
           at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48)
           at org.springframework.boot.loader.Launcher.launch(Launcher.java:87)
           at org.springframework.boot.loader.Launcher.launch(Launcher.java:50)
           at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:51)
    2025-11-05 10:35:24.441 ERROR 1733787 --- [           main] cn.wildfirechat.push.ios.ApnsServer      : ApnsServer init failed
    java.security.InvalidKeyException: java.security.spec.InvalidKeySpecException: java.security.InvalidKeyException: IOException : null
           at com.turo.pushy.apns.auth.ApnsSigningKey.loadFromInputStream(ApnsSigningKey.java:165)
           at com.turo.pushy.apns.auth.ApnsSigningKey.loadFromPkcs8File(ApnsSigningKey.java:107)
           at cn.wildfirechat.push.ios.ApnsServer.init(ApnsServer.java:60)
           at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
           at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
           at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
           at java.lang.reflect.Method.invoke(Method.java:498)
           at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:366)
           at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:309)
           at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:136)
           at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:416)
           at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1686)
           at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:573)
           at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:495)
           at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:317)
           at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
           at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:315)
           at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
           at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:759)
           at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)
           at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:548)
           at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:140)
           at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754)
           at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:386)
           at org.springframework.boot.SpringApplication.run(SpringApplication.java:307)
           at org.springframework.boot.SpringApplication.run(SpringApplication.java:1242)
           at org.springframework.boot.SpringApplication.run(SpringApplication.java:1230)
           at cn.wildfirechat.push.PushApplication.main(PushApplication.java:9)
           at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
           at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
           at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
           at java.lang.reflect.Method.invoke(Method.java:498)
           at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48)
           at org.springframework.boot.loader.Launcher.launch(Launcher.java:87)
           at org.springframework.boot.loader.Launcher.launch(Launcher.java:50)
           at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:51)
    Caused by: java.security.spec.InvalidKeySpecException: java.security.InvalidKeyException: IOException : null
           at sun.security.ec.ECKeyFactory.engineGeneratePrivate(ECKeyFactory.java:169)
           at java.security.KeyFactory.generatePrivate(KeyFactory.java:372)
           at com.turo.pushy.apns.auth.ApnsSigningKey.loadFromInputStream(ApnsSigningKey.java:163)
           ... 35 more
    Caused by: java.security.InvalidKeyException: IOException : null
           at sun.security.pkcs.PKCS8Key.decode(PKCS8Key.java:351)
           at sun.security.pkcs.PKCS8Key.decode(PKCS8Key.java:356)
           at sun.security.ec.ECPrivateKeyImpl.<init>(ECPrivateKeyImpl.java:74)
           at sun.security.ec.ECKeyFactory.implGeneratePrivate(ECKeyFactory.java:237)
           at sun.security.ec.ECKeyFactory.engineGeneratePrivate(ECKeyFactory.java:165)
           ... 37 more
    2025-11-05 10:35:24.607  INFO 1733787 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
    2025-11-05 10:35:24.819  INFO 1733787 --- [           main] s.w.s.m.m.a.RequestMappingHandlerAdapter : Looking for @ControllerAdvice: org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@555590: startup date [Wed Nov 05 10:35:19 CST 2025]; root of context hierarchy
    2025-11-05 10:35:24.897  INFO 1733787 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/ios/push],methods=[POST],produces=[application/json;charset=UTF-8]}" onto public java.lang.Object cn.wildfirechat.push.PushController.iOSPush(cn.wildfirechat.push.PushMessage)
    2025-11-05 10:35:24.899  INFO 1733787 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/android/push],methods=[POST],produces=[application/json;charset=UTF-8]}" onto public java.lang.Object cn.wildfirechat.push.PushController.androidPush(cn.wildfirechat.push.PushMessage)
    2025-11-05 10:35:24.899  INFO 1733787 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/harmony/push],methods=[POST],produces=[application/json;charset=UTF-8]}" onto public java.lang.Object cn.wildfirechat.push.PushController.hmPush(cn.wildfirechat.push.PushMessage)
    2025-11-05 10:35:24.903  INFO 1733787 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error],produces=[text/html]}" onto public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
    2025-11-05 10:35:24.904  INFO 1733787 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error]}" onto public org.springframework.http.ResponseEntity<java.util.Map<java.lang.String, java.lang.Object>> org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController.error(javax.servlet.http.HttpServletRequest)
    2025-11-05 10:35:24.937  INFO 1733787 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
    2025-11-05 10:35:24.937  INFO 1733787 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
    2025-11-05 10:35:25.335  INFO 1733787 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Registering beans for JMX exposure on startup
    2025-11-05 10:35:25.379  INFO 1733787 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8085 (http) with context path ''
    2025-11-05 10:35:25.386  INFO 1733787 --- [           main] cn.wildfirechat.push.PushApplication     : Started PushApplication in 6.546 seconds (JVM running for 8.906)
    2025-11-05 10:35:56.301  INFO 1733787 --- [nio-8085-exec-1] o.s.web.servlet.DispatcherServlet        : FrameworkServlet 'dispatcherServlet': initialization started
    2025-11-05 10:35:56.316  INFO 1733787 --- [nio-8085-exec-1] o.s.web.servlet.DispatcherServlet        : FrameworkServlet 'dispatcherServlet': initialization completed in 15 ms
    2025-11-05 10:35:56.406  INFO 1733787 --- [nio-8085-exec-1] c.w.push.android.AndroidPushServiceImpl  : Android push {"sender":"f1efd29086714069b650edc0e9d49b38","senderName":"tan","senderPortrait":"https://im-picture-1312687170.cos.ap-beijing.myqcloud.com/ZjFlZmQyOTA4NjcxNDA2OWI2NTBlZGMwZTlkNDliMzg-3D-5-1760323022-Cj2SYsSWbaV0.png","convType":0,"target":"41b3b755fe624c538afff3f699a6ca9c","targetName":"hm","targetPortrait":"https://im-picture-1312687170.cos.ap-beijing.myqcloud.com/NDFiM2I3NTVmZTYyNGM1MzhhZmZmM2Y2OTlhNmNhOWM-3D-1-1759134679-7hVwlCXIBfqS.jpg","userId":"41b3b755fe624c538afff3f699a6ca9c","line":0,"cntType":1,"serverTime":1762310156251,"pushMessageType":0,"pushType":2,"pushContent":"
  • x86 17天前
    引用 5
    上面的日志,看着是 oppo 的配置不对
  • 李飞 16天前
    引用 6
    华为的已经能接收到了,是因为推送没有申请消息分类。密钥hms.appSecret 还是应该取 OAuth2.0 里的
返回