【问题标题】:Generating Access Toke Causes unauthorized_client生成访问令牌导致未授权客户端
【发布时间】:2021-01-02 17:49:49
【问题描述】:

按照https://developers.docusign.com/platform/auth/authcode/authcode-get-token 中的步骤,我可以获得用户授权同意。但是,当我尝试获取访问令牌时,返回以下错误:{ "error": "invalid_grant", "error_description": "unauthorized_client" }。我发现了类似的问题并遵循了所提供的建议,但似乎不适用。我正在使用以下 VBA 代码:

If gintDocuSignEnviron = 1 Or gintDocuSignEnviron = 2 Then
    strURL = "https://account-d.docusign.com/oauth/token"
            
    strAuthorization = gstrIntegrationKey & ":" & gstrSandboxSecretKey
                            
ElseIf gintDocuSignEnviron >= 3 And gintDocuSignEnviron <= 6 Then
    strURL = "https://account.docusign.com/oauth/token"
    
    strAuthorization = gstrIntegrationKey & ":" & gstrNA4SecretKey
    
Else
    Stop
End If

strAuthorization = Trim(Base64EncodeString(strAuthorization))

Set objHTTP = New MSXML2.XMLHTTP60

objHTTP.Open "POST", strURL, False
objHTTP.setRequestHeader "Content-Type: ", "application/x-www-form-urlencoded"
objHTTP.setRequestHeader "Accept: ", "application/json"
objHTTP.setRequestHeader "Authorization: ", "Basic " & strAuthorization
objHTTP.send "grant_type=authorization_code&code=" & strCode

另外,密钥会过期还是仅限一次使用?

谢谢

肯

【问题讨论】:

    标签: vba oauth authorization


    【解决方案1】:

    我写 VBA 已经很久了,但我认为你的标题名称参数不应该有尾随的冒号和空格;也就是说,它们应该看起来像:

    objHTTP.setRequestHeader "Authorization", "Basic " & strAuthorization
    

    如果这仍然不起作用,请尝试在单独的工具(例如 cURL 或 Postman)中制作请求,看看您是否可以通过这种方式使其成功。验证码会在 2 分钟后过期,所以工作要快。而且它也可能在使用一次后过期。

    【讨论】:

      猜你喜欢
      • 2020-12-31
      • 2018-12-01
      • 2015-08-01
      • 1970-01-01
      • 2018-08-07
      • 2021-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多