程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了在 Calendar API 中插入事件时 OAUTH2 Credential 中的错误:OAuth2Credentials 实例不支持刷新访问令牌大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决在 Calendar API 中插入事件时 OAUTH2 Credential 中的错误:OAuth2Credentials 实例不支持刷新访问令牌?

开发过程中遇到在 Calendar API 中插入事件时 OAUTH2 Credential 中的错误:OAuth2Credentials 实例不支持刷新访问令牌的问题如何解决?下面主要结合日常开发的经验,给出你关于在 Calendar API 中插入事件时 OAUTH2 Credential 中的错误:OAuth2Credentials 实例不支持刷新访问令牌的解决方法建议,希望对你解决在 Calendar API 中插入事件时 OAUTH2 Credential 中的错误:OAuth2Credentials 实例不支持刷新访问令牌有所启发或帮助;

我是一名学生,对 API 的处理相当陌生,在阅读了有关 OAuth2 的文档后,我正在尝试使用谷歌日历 API 从 Web 应用程序的后端通过 SpringBoot 在日历中插入事件这点。调用日历服务时出现该错误,它必须与刷新令牌的处理有关。我只发现了一个与此类似的问题,但我无法提取任何解决方案。由于没在这种情况下如何使用带有访问令牌的 API 的示例,我在 StackOverflow 上发布了我的第一个问题。 对不起,这可能是非常错误的。请用你的知识赐教

2021-03-14 16:38:13.479 ERROR 9716 --- [nio-8080-exec-4] oaccC[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet]在路径 [] 的上下文中引发异常 【请求处理失败;嵌套异常是 java.lang.IllegalStateException: OAuth2Credentials 实例不支持刷新访问令牌。一个实例 应该使用新的访问令牌,或者支持刷新的派生类型。]

这是代码,Java 出现的示例已“弃用”,因此我尝试以这种方式解决它。我想要做的是,首先通过 Google Api 提供的端点获取访问令牌,发送客户端的数据以及机密,然后获取响应。根据 oauth2 服务器的回答,我生成一个 Accesstoken,然后通过 CalendarBuilder 创建服务。在此之后,我创建一个用于测试的事件,然后执行插入语句。

try {
httpResponse<JsonNode> response = Unirest.post("https://oauth2.GoogleAPIs.com/token")
                    .header("content-type","application/x-www-form-urlencoded")
                    .body("grant_type=authorization_code&clIEnt_ID=********&clIEnt_secret=*********&code=*********&redirect_uri=http://localhost:8080/handle_auth")
                    .asJson();
            JsONObject myObj = response.getbody().getobject();
            Date expiry = new Date();
            Accesstoken accesstoken = new Accesstoken(myObj.getString("access_token"),expiry);

            GoogleCredentials credential = new GoogleCredentials(accesstoken);
            httprequesTinitializer requesTinitializer = new httpCredentialsAdapter(credential);
            System.out.println(accesstoken);
            final NethttpTransport http_TRANSPORT = GoogleNethttpTransport.newTrustedTransport();
            Calendar service = new Calendar.builder(http_TRANSPORT,GsonFactory.getDefaulTinstance(),requesTinitializer).setApplicationname("prueba").build();

            Event event = new Event().setSumMary("Ejemplo 123")
                    .setLOCATIOn("800 HoWARD St.,San Francisco,CA 94103");
   @R_@R_673_11239@_7538@me start@R_@R_673_11239@_7538@me = new @R_@R_673_11239@_7538@me("2015-05-28T09:00:00-07:00");
            EventDateTiR_36_11845@e start = new EventDateTiR_36_11845@e().set@R_@R_673_11239@_7538@me(start@R_@R_673_11239@_7538@mE).setTimeZone("America/Los_Angeles");
            event.setStart(start);

            @R_@R_673_11239@_7538@me end@R_@R_673_11239@_7538@me = new @R_@R_673_11239@_7538@me("2015-05-28T17:00:00-07:00");
            EventDateTiR_36_11845@e end = new EventDateTiR_36_11845@e().set@R_@R_673_11239@_7538@me(end@R_@R_673_11239@_7538@mE).setTimeZone("America/Los_Angeles");
            event.setEnd(end);
            
            event = service.events().insert("priMary",event).execute();
            System.out.printf("Event created: %s\n",event.getHTMLlink());

        } catch (UnirestException E) {

            e.printstacktrace();
        } ```

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

大佬总结

以上是大佬教程为你收集整理的在 Calendar API 中插入事件时 OAUTH2 Credential 中的错误:OAuth2Credentials 实例不支持刷新访问令牌全部内容,希望文章能够帮你解决在 Calendar API 中插入事件时 OAUTH2 Credential 中的错误:OAuth2Credentials 实例不支持刷新访问令牌所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:Calendar