【问题标题】:Invalid_request Missing grant Type VBA Error Oauth 2.0Invalid_request 缺少授权类型 VBA 错误 Oauth 2.0
【发布时间】:2022-01-21 23:41:00
【问题描述】:

过去几个小时我一直在努力解决这个问题。

我正在尝试通过 OAuth 从合作伙伴的 API 接收访问令牌。

其中有一个小错误导致了这个错误:

"error":"invalid_request","error_description":"缺少授权类型"

这是我在 MS Access 中使用的 VBA 代码:

Public Function API_MyArrow_Artikel(artikelBez) As String

    Dim objHTTP As Object
    
    Dim strHead As String, strClientId As String, strClientSecret As String, strBody As String
    
    Set objHTTP = CreateObject("WinHttp.WinHttpRequest.5.1")
    
    strClientId = "xxx"
    strClientSecret = "xxx"
    
    strUrl1 = "https://my.arrow.com/api/security/oauth/token"
    
    strHead = strClientId & ":" & strClientSecret
    
    lngADRNR = 674
    
    objHTTP.Open "POST", strUrl1, False
    
    objHTTP.SetRequestHeader "application", "x-www-form-urlencoded"
    objHTTP.SetRequestHeader "client_id", strClientId
    objHTTP.SetRequestHeader "client_secret", strClientSecret
    objHTTP.SetRequestHeader "Authorization", "Basic " + Base64Encode(strHead)
    
    'objHTTP.setRequestHeader "grant_type", "client_credentials"
    
    objHTTP.SetTimeouts 10000, 10000, 10000, 10000 'Timeout (in milliseconds) to wait for timeout in each request phase (Resolve, Connect, Send, Receive)
    
    objHTTP.SetRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
    
    objHTTP.Send "grant_type=client_credentials" 
    
    API_MyArrow_Artikel = objHTTP.responseText

End Function

非常感谢任何类型的解决建议,因为这里只有一些 OAuth 2.0 专家。

谢谢,

【问题讨论】:

  • tryobjHTTP.SetRequestHeader "content-type", "application/x-www-form-urlencoded "
  • @QHarr 你能解释一下它是什么吗?
  • 该网站的 API 文档对请求格式有何评论?
  • 您好@Tim,感谢您对这里的关注。

标签: vba api oauth


【解决方案1】:

我找到了解决办法。

URL 中存在一些错误,需要通过在 URL 中添加以下代码来修复:

my.arrow.com/api/security/oauth/token?grant_type=client_credentials

其次替换这个:

objHTTP.SetRequestHeader "application", "x-www-form-urlencoded"

到这里:

objHTTP.SetRequestHeader "content-type","application/x-www-form-urlencoded"

为我完成了这项工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-11
    • 1970-01-01
    • 1970-01-01
    • 2018-09-11
    • 1970-01-01
    • 2018-05-03
    • 1970-01-01
    • 2021-06-09
    相关资源
    最近更新 更多