You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel VBA调用Rest API遇客户端证书无凭据错误的解决咨询

Concur OAuth2 Token端点调用问题:客户端证书无可用凭据错误

我正在进行Rest API集成开发,调用https://us2.api.concursolutions.com/oauth2/v0/token端点时出现错误:

No credentials were available in client certificate.

我尝试了两段VBA代码(如下),还测试了MSXML2.ServerXMLHTTP.6.0、WinHttp.WinHttpRequest不同类,设置忽略SSL错误、配置客户端证书、调整请求头参数、更换无杀毒软件的Win11电脑等方法,但均无效。但相同请求在Postman中可正常运行,我希望能获取该端点的响应(即使是失败响应)。

Example 1

Dim url As String
Dim body As String
    
'URL for retrieving bearer token
url = Cells(1, 2) & "/oauth2/v0/token"
body = "client_id=" & Cells(2, 2) & " client_secret=" & Cells(3, 2) & " grant_type=refresh_token" & " refresh_token" & Cells(4, 2)

Dim objHTTP As WinHttp.WinHttpRequest
Set objHTTP = New WinHttp.WinHttpRequest

objHTTP.SetAutoLogonPolicy AutoLogonPolicy_Always

objHTTP.SetClientCertificate "DigiCert"

'    objHTTP.Option(WinHttp.WinHttpRequestOption_SslErrorIgnoreFlags) = WinHttp.WinHttpRequestSslErrorFlags.SslErrorFlag_Ignore_All
 objHTTP.Option(WinHttpRequestOption_SslErrorIgnoreFlags) = 256

Call objHTTP.Open("POST", url, False)

objHTTP.Send

objHTTP.WaitForResponse

Debug.Print objHTTP.ResponseText

Example 2

EndPoint = "https://us2.api.concursolutions.com/oauth2/v0/token"
Payload = "client_id=" & Cells(2, 2) & "&client_secret=" & Cells(3, 2) & "&grant_type=refresh_token" & "&refresh_token=" & Cells(4, 2)

Dim xmlhttp
Set xmlhttp = CreateObject("MSXML2.ServerXMLHTTP.6.0")

xmlhttp.setOption(2) = 13056
'strCert = "Friendly Name"
xmlhttp.setOption(3) = "DigiCert"
'xmlhttp.SetClientCertificate "DigiCert"
xmlhttp.Open "POST", EndPoint, False
xmlhttp.setRequestHeader "User-Agent", "HTTP/1.1"
xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded; charset=utf-8"
xmlhttp.setRequestHeader "Accept", "application/json"
xmlhttp.setRequestHeader "Host", "us.api.concursolutions.com"
xmlhttp.setRequestHeader "Connection", "close"
xmlhttp.setRequestHeader "Content-Length", "437"
xmlhttp.setRequestHeader "concur-correlationid", "ExcelVBA-Gpaparelli"
xmlhttp.Send Payload

Debug.Print xmlhttp.ResponseText

内容的提问来源于stack exchange,提问作者Gpaparelli

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 03:26:16