kanekunのメモ

AIが作ったプログラムのバックアップ

REST API VBA(Claude2)

' クライアント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