如何使用 Classic ASP 和 Strict OAuth 2.0 获取 GoToWebinar 的访问令牌

How to get access token for GoToWebinar using Classic ASP and Strict OAuth 2.0

我们目前正在使用 GoToWebinars API 通过旧的 OAuth 方法创建网络研讨会和注册者。

我们在转换到 Strict OAuth 2.0 方面已经晚了,需要一些关于如何快速转换到新方法的指导。

我们有一个用经典 ASP 编写的 Web 应用程序,它请求访问令牌,然后创建网络研讨会和注册者。

您能否提供一些代码示例,说明我们如何转向 Strict OAuth 2.0?

这是我们当前使用旧方法创建令牌的 ASP 代码示例:

 Function getAccessToken()
   postURL = "https://api.getgo.com/oauth/access_token?grant_type=password&user_id={userId}&password={password}&client_id=" & client_id

   Set ServerXmlHttp = Server.CreateObject("MSXML2.ServerXMLHTTP.6.0")
   ServerXmlHttp.open "POST", postURL
   ServerXmlHttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
   ServerXmlHttp.setRequestHeader "Content-Length", Len(PostData)
   ServerXmlHttp.send PostData

   jsonResponse = ServerXmlHttp.responseText

   'Get Access Token
   set myJson = JSON.parse(jsonResponse)
   access_token = myJson.access_token

   getAccessToken = access_token

   Set ServerXmlHttp = Nothing
End Function

我对严格的 OAuth 2.0 了解有限,无法理解以编程方式创建访问令牌。

使用以下 ASP 经典代码,它适用于 OAuth 2.0。

<script language="javascript" runat="server" src="/global/json2.min.asp"></script>

Function getCitrixAccessToken()

postURL = "https://api.getgo.com/oauth/v2/token"
postData = "grant_type=password&username={username}&password={password}"

Set ServerXmlHttp = Server.CreateObject("MSXML2.ServerXMLHTTP.6.0")
ServerXmlHttp.open "POST", postURL
ServerXmlHttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
ServerXmlHttp.setRequestHeader "Authorization", "Basic " & encodedAuthHeader
ServerXmlHttp.setRequestHeader "Content-Length", Len(PostData)
ServerXmlHttp.send PostData

jsonResponse = ServerXmlHttp.responseText

'Get Access Token
set myJson = JSON.parse(jsonResponse)
access_token = myJson.access_token

getCitrixAccessToken = access_token

Set ServerXmlHttp = Nothing

End Function

希望这对遇到同样问题的其他人有所帮助。