' クライアントIDとクライアントシークレットの設定
Const client_id = "****************************"
Const client_secret = "********************************"
' トークンエンドポイント
Const token_url = "https://XXX"
' アクセストークンを取得
Function GetAccessToken()
' リクエストパラメータ設定
Dim params As String
params = "client_id=" & client_id
params = params & "&client_secret=" & client_secret
params = params & "&grant_type=client_credentials"
' HTTPリクエスト発行
Dim http As Object
Set http = CreateObject("MSXML2.XMLHTTP")
http.Open "POST", token_url, False
http.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
http.send (params)
' レスポンスを取得
Dim response As String
response = http.responseText
Dim json As Object
Set json = JsonConverter.ParseJson(response)
' アクセストークンを取得
Dim access_token As String
access_token = json("access_token")
GetAccessToken = access_token
End Function
' 情報APIエンドポイント
Const api_url = "https://XXX"
' 情報を取得
Function GetOrganizationInfo(access_token)
Dim http As Object
Set http = CreateObject("MSXML2.XMLHTTP")
' ヘッダにアクセストークンを設定
http.Open "GET", api_url, False
http.setRequestHeader "Authorization", "Bearer " & access_token
' リクエスト送信
http.send
' レスポンスを取得
Dim response As String
response = http.responseText
' JSONをパース
Dim json As Object
Set json = JsonConverter.ParseJson(response)
' ここで情報を解析・取得
Dim org_info As String
org_info = json("name")
GetOrganizationInfo = org_info
End Function
' メイン処理
Sub Main()
' アクセストークンを取得
Dim access_token As String
access_token = GetAccessToken()
' 情報APIを呼び出し
Dim org_info As String
org_info = GetOrganizationInfo(access_token)
MsgBox "Organization Name: " & org_info
End Sub