首先吐槽一句,官方API文档给了个寂寞,调不通啊,然后查各种搞了一天,竟然没有一篇文章能把这件事写清楚,给我暴躁的。
结论竟然是原来是我不会调用接口。。。我今天非要把这篇文章写好。
web接口入口
通过sonarqube下方可以进入web接口
关于如何调用接口,官方文档有这么几句。示例用curl,意思是可以用token或者用账号密码这两种方式,并且如果是用github账号登录的,只能用token.
我懂了,好的,那么如何用postman调通呢?
方法一:Basic Auth账号密码
这种方式适用于知道sonarqube的登录账号和密码的情况下,Auth里选择Basic Auth,输入账号密码,发送即可。
方法二:在Header里使用账号密码
这种也是使用账号密码,
参数为Authorization 参数值为Basic 账号:密码
但是这里的账号和密码需要用base64加密一下,具体为什么可见这篇文章https://www.toolsqa.com/postman/basic-authentication-in-postman/
base64在线加密解密地址:https://www.base64encode.org/
![在这里插入图片描述](https://img-blog.csdnimg.cn/136aeaa1808e4922b3c142ca78c0c26b.png
把加密后的值写在Basic后面即可。
方法三:使用token
在sonarqube平台上右上角我的账号进入输入令牌名,类型为用户生成一个token,复制下来。
坑来了!!!!
用token直接请求,401。就被这个问题搞了一天。
用base64加密后请求,还是401
最后在一篇文章中看到,加密的时候需要给token后面带一个冒号,再得到加密后的值。
还要注意,前面要加一个basic!!!终于请求通了。