ExcelVBAからChatGPTを呼び出す際に出るエラーを解消したい
Q&A
Closed
解決したいこと
ExcelVBAからChatGPTを呼び出す際に出るエラーを解消したい。
書籍を読みながら行っているのですが、その書籍ではWindows用の方法の記載しかなく、Macで行う方法を模索しております。
以下のエラーの解決方法を教えてください。
発生している問題・エラー
{
"error": {
"message": "You didn't provide an API key. You need to provide your API key in an Authorization header using Bearer auth (i.e. Authorization: Bearer YOUR_KEY), or as the password field (with blank username) if you're accessing the API from your browser and are prompted for a username and password. You can obtain an API key from https://platform.openai.com/account/api-keys.",
"type": "invalid_request_error",
"param": null,
"code": null
}
おそらく(i.e. Authorization: Bearer YOUR_KEY)を記載していないことが原因だと思われますが、書籍に載っているWindows用のコードをそのまま使ってしまうと「オブジェクトが必要です」とエラーが出てきてしまいます。
↓試したコード
Dim result As String
result = HTTPGet("https://api.openai.com/v1/chat/completions", "")
client.setRequestHeader "Authorization", "Bearer " & apikey
Debug.Print result
*本番では自分のapikeyを入力しています。
該当するソースコード
わたしがMacで行っているコード
Dim result As String
result = HTTPGet("https://api.openai.com/v1/chat/completions", "")
Debug.Print result
書籍に載っているWindows用のコード
' APIの呼び出し
Dim client As Object
Set client = CreateObject("MSXML2.ServerXMLHTTP")
client.setTimeouts 30000, 30000, 30000, 60000
client.Open "POST", "https://api.openai.com/v1/chat/completions"
client.setRequestHeader "Content-Type", "application/json"
client.setRequestHeader "Authorization", "Bearer " & ApiKey
client.send JsonConverter.ConvertToJson(data)