Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Discourse 使用 DiscourseConnect 调用接口 admin/users/sync_sso 422 错误

Discourse 使用 DiscourseConnect 调用接口 admin/users/sync_sso 422 错误

作者头像
HoneyMoose
发布于 2024-11-28 01:16:21
发布于 2024-11-28 01:16:21
7400
代码可运行
举报
文章被收录于专栏:CWIKIUSCWIKIUS
运行总次数:0
代码可运行

最近在调试 Java 代码的时候调用上面的 SSO 同步接口,Discourse 返回的错误信息为:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{"failed":"FAILED","message":"The `external_id` is required but was blank"}
2024-05-23_17-14-13
2024-05-23_17-14-13

但是,在我们的代码中是设了值的。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
URIBuilder builder = new URIBuilder();
            builder.addParameter("external_id", "1");
            builder.addParameter("email", "info@isharkfly.com");
            builder.addParameter("username", "info.visafn.sso");
//            builder.addParameter("add_groups", "bar");
            builder.addParameter("require_activation", "false");
            url = builder.build().toString();

不知道为什么会出现上面的错误提示信息。

问题原因

上面的问题原因在于 URL Get 方法参数拼接时候的问题。

如果我们输出 url 字符串:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
?external_id=1&email=info%40isharkfly.com&username=info.visafn.sso&require_activation=false

Java 的 URL builder 代码会在前面添加一个 ? 号。

但是这个问好对 admin/users/sync_sso 的调用是不能接受的。

2024-05-23_17-18-00
2024-05-23_17-18-00

所以,为了解决上面的问题,我们需要调用一个 Java 的 API,把上面的问号从字符串中删除。

使用下面的一句话来替换掉上面的 url 直接 toString

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
url = StringUtils.removeStart(builder.build().toString(),"?");

随后直接运行测试代码,程序应该会返回 200 代码。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-11-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Discourse 使用 DiscourseConnect 调用接口 admin/users/sync_sso 422 错误
最近在调试 Java 代码的时候调用上面的 SSO 同步接口,Discourse 返回的错误信息为:
HoneyMoose
2024/05/24
1020
Discourse 使用 DiscourseConnect 调用接口 admin/users/sync_sso 422 错误
使用 sync_sso 同步 DiscourseConnect 用户数据 [Java]
所以,我就根据官方针对 PHP 实现(Sync DiscourseConnect user data with the sync_sso route - developers - Discourse Meta )写了一个有关 Java 的实现。
HoneyMoose
2024/05/24
910
Discourse 使用 DiscourseConnect 调用接口 admin/users/sync_sso 404 错误
出现上面错误的原因是安装的 Discourse 实例的 discourse connect 没有启用。
HoneyMoose
2024/05/24
910
Discourse 使用 DiscourseConnect 调用接口 admin/users/sync_sso 404 错误
Discourse 使用 DiscourseConnect 来进行用户数据同步
如果 Discourse 没有设置电子邮件 SMTP 的话,作为管理员是没有办法对用户邮箱进行修改并且通过验证的。
HoneyMoose
2024/05/22
1950
Discourse 使用 DiscourseConnect 来进行用户数据同步
Java调用第三方接口示范
【1】准备工作:在项目的工具包下导入HttpClientUtil这个工具类,或者也可以使用Spring框架的restTemplate来调用,上面有调用接口的方法【分为Get和Post方式的有参和无参调用】:
Java廖志伟
2021/01/29
1.5K0
HttpClient技术
HttpClient 一、介绍 简介 坐标 二、应用 发送get请求不带参数 发送get请求带参数 发送post请求不带参数 发送post请求带参数 发送post请求带json类型参数 三、HTTPClient工具类的使用 工具类代码 一、介绍 简介 HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、 功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。 HTTP 协议可能是现在 Inter
时间静止不是简史
2020/07/25
1.8K0
单点登录系统实现
单点登录系统实现基于SpringBoot 今天的干货有点湿,里面夹杂着我的泪水。可能也只有代码才能让我暂时的平静。通过本章内容你将学到单点登录系统和传统登录系统的区别,单点登录系统设计思路,Sprin
前端教程
2018/03/05
4.7K0
单点登录系统实现
Http接口调用示例教程
本文链接:https://blog.csdn.net/u014427391/article/details/97398717
SmileNicky
2019/08/29
1.1K0
java 通过HTTP接收json
一: json接收类, 第一个接口为直接传参接收 第二个接口接收json字符串 可以写个HTTP测试类调用测试,也可以postman测试调用,实例方法贴到下面
matinal
2023/10/13
5540
HttpClient使用不当,服务挂了,是时候系统学习一下了
事件一:联调微信支付接口,用到HttpClient,花时间整理了一番。如果有一篇文章,读一读就可以掌握HttpClient 80%的内容,再有可以直接用的Demo,下次再遇到是不是就可以非常容易集成了?这篇便是这篇文章的目标之一。
程序新视界
2021/12/20
1.8K0
SpringCloud的入门学习之深入理解Eureka注册中心
  答:a、Eureka Server,注册中心,通过 Register、Get、Renew 等接口提供服务的注册和发现。     b、Application Service (Service Provider),服务提供方,把自身的服务实例注册到 Eureka Server中。     c、Application Client (Service Consumer),服务调用方,通过 Eureka Server获取服务列表,消费服务。
别先生
2019/11/18
8670
SpringCloud的入门学习之深入理解Eureka注册中心
网络编程与通信原理
不同设备之间通过网络进行数据传输,并且基于通用的网络协议作为多种设备的兼容标准,称为网络通信;
知了一笑
2023/02/13
4880
网络编程与通信原理
银商TMS平台秘钥下载工具
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package javaapplication3.utils; import com.alibaba.fastjson.JSON; impo
杨永贞
2020/08/04
7340
java调用webservice接口的几种方法
前几天看到群里有人问webservice,稍微总结一下! webservice的 发布一般都是使用WSDL(web service descriptive language)文件的样式来发布的,在WSDL文件里面,包含这个webservice暴露在外面可供使用的接口。今天搜索到了非常好的 webservice provider列表 http://www.webservicex.net/WCF/default.aspx 这上面列出了70多个包括很多方面的free webservice provider,uti
三哥
2018/06/15
38.7K1
Dubbo 分布式架构搭建教育 PC 站 - 微信登录
微信开放平台(针对开发者和公司):https://developers.weixin.qq.com/doc/oplatform/Website_App/WeChat_Login/Wechat_Login.html
RendaZhang
2020/11/04
1.2K0
Java学习之Mybatis框架基础篇
续上篇文章的入门篇,继续mark Mybatis内容,上一章节只是写了Mybatis的一个简单查询功能,这篇来写他的删改查等其他操作。
全栈程序员站长
2022/07/13
1960
springboot第21集:SSO
客户端,访问需要登录的页面,从业务站点,如果未从Cookie中获取AuthToken,跳转到登录页面,访问SSO站点,提交用户名,密码,验证用户登录的 SSO 服务,访问DB验证账号,保存登录状态 Redis,返回成功Redis,返回AuthToken,将AuthToken放入Cookie中 domian = test.com 返回 302:跳转到页面,将AuthToken保存到Cookie中,domain = test.com,跳转到访问的页面
达达前端
2023/10/08
2750
springboot第21集:SSO
java实现调用百度接口将大量数据库中保存的地址转换为经纬度
最近,碰到了一个业务,是将数据库中所有的地址信息请求百度接口获取经纬度保存起来。有38万多个地址,想到的方案就是查出所有的地址字段加上主键字段,然后导出csv文件,读取这个文件,遍历请求百度api接口,获取经纬度信息,生成一个新的文件,作为一张表导入数据库,使用sql给地址刷一遍经纬度。
jiankang666
2022/05/12
1.4K0
java实现调用百度接口将大量数据库中保存的地址转换为经纬度
用 Spring AI 调用 OpenAI 对话接口
从 https://start.spring.io/ 下载一个包含 Spring Web 依赖的 Maven 工程:
AlphaHinex
2024/12/03
5430
用 Spring AI 调用 OpenAI 对话接口
[原创]CI持续集成系统环境---部署gerrit环境完整记录
开发同事提议在线上部署一套gerrit代码审核环境,废话不多说,部署gerrit的操作记录如下: 提前安装好java环境,mysql环境,nginx环境 测试系统:centos6.5 下载下面三个包,放到/root目录下(下载地址:http://pan.baidu.com/s/1nuP0X9R (提取密码gqj5)) mysql-connector-java-5.1.21.jar bcpkix-jdk15on-1.52.jar gerrit-2.11.3.war ----------------------
洗尽了浮华
2018/01/22
2.6K0
[原创]CI持续集成系统环境---部署gerrit环境完整记录
相关推荐
Discourse 使用 DiscourseConnect 调用接口 admin/users/sync_sso 422 错误
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验