VBA의이 측면을 활용하는 데있어 새로운 점을 지적하여 게시물을 소개하겠습니다.VBA HTTP 게시 요청에 매개 변수 추가
개인적으로 부여한 인증 코드를 사용하여 HTTP "POST"요청을해야하는 웹 서비스에서 토큰을 요청하는 데 관심이 있습니다. 내 요청에있는 다른 매개 변수 중이 코드를 포함 할 필요가 있지만 성공적으로 그렇게 고심하고 있습니다.
POST /services/oauth2/token HTTP/1.1
Host: "YourURL.com"
grant_type=authorization_code&code=aPrxsmIEeqM9PiQroGEWx1UiMQd95_5JUZ
VEhsOFhS8EVvbfYBBJli2W5fn3zbo.8hojaNW_1g%3D%3D&client_id=3MVG9lKcPoNI
NVBIPJjdw1J9LLM82HnFVVX19KY1uA5mu0QqEWhqKpoW3svG3XHrXDiCQjK1mdgAvhCs
cA9GE&client_secret=1955279925675241571&
redirect_uri=https%3A%2F%2Fwww.mysite.com%2Fcode_callback.jsp
이 개인적으로 진짜 투쟁을 계속 것처럼 요청을 생산 : 내가 발견 한 세부 사항은 온라인으로 다음과 같이 자바에서 자신의 요구 (모든 ID가 위조되는)를 포맷합니다.
Dim request As WinHttp.WinHttpRequest
Dim
client_id,
redirect_uri,
grant_type,
client_secret,
authcode,
result,
token_url,
As String
하위 testmod()
Set request = New WinHttp.WinHttpRequest
client_id = "MyClientID"
client_secret = "MyClientSecret"
grant_type = "authorization_code"
redirect_uri = "MyRedirectURI"
authcode = "MyAuthorizationCode"
token_url = "MyTokenURL" <--- No specified query string appended
With request
.Open method:="POST", Url:=token_url
''''Including POST Params with Send method''''
.Send ("{""code"":" & authcode &
",""grant_type"":authorization_code,""client_id"":" & client_id &
",""client_secret"":" & client_secret & ",""redirect_uri"":" &
redirect_uri & "}")
''''This returns error code 400 denoting a bad request''''
Debug.Print .StatusText
end with
최종 하위
이러한 매개 변수에 오류가이 요청을 일으키는 이유에어떤 아이디어 : 다음은 내 코드 관련 구성 요소는? 어떤 통찰력이라도 대단히 감사합니다!
예쁜 확실히 POST 요청 본문은'{ '와'}'당신이 가진 것을하지 말았어야 : 당신이 게시하고있는 서버에 따라
는, 당신은 같은 헤더를 설정해야 할 수도 있습니다 처음과 끝에서 키 이름을 둘러싸고있는 리터럴 이중 따옴표''' – garbb
또한 HTTP 요청/응답으로 장난하는 사람이 [피들러] (https : //www.telerik.com/fiddler) 내가 무슨 일이 일어나고 있는지를 알면 도움이된다. – garbb