I am attempting to use the OPENAI API. I have tried using both C#.NET and JavaScript/Node.js. I have used a C# library, the library that OpenAI provides for Node.js, as well as two other third party Node.js libraries to get access to the OpenAI API. Each one, I’ve read through the full documentation, created an application that is properly set up, I’ve even used ChatGPT to help me write and verify the code is written properly, and for it to help me answer questions or explain in more detail how something works. But with each attempt, I receive a ‘401 Unauthorized’ HTTP status code. I have revoked my API key twice now, using my third key at the moment. I have verified that my environment variables are being passed properly by console logging the OPENAI_API_KEY variable. Everything on my end seems to be working properly. I’ve tried many possible solutions but I always end up with ‘401 Unauthorized’. Is there an issue with my account, or API key generation? I don’t see any problems online talking about issues with the OpenAI API. What could the problem be? I have also verified that my usage is not capped.
The highest probability reason for your 401 error is that you have a bug in your code where your OPENAI_API_KEY
is not being properly sent to the API end point or you have failed to initialize your client.
This initialization requires just a few lines of code and since you have not uploaded your code where you configure the client with your API key, answering your question further would be guesswork.
Normally, developers like to work with code more than abstract concepts, so if you are having trouble configuring your OpenAI client, it would help if you posted your method used to initialize your API client.
You might get lucky and find some C#.NET
developers here who can assist you further, or even some JS devs.
Normally, when I encounter these types of problems I log the headers sent to the API endpoint to insure the headers sent to the API are property formatted and the API key has been properly included.
HTH
PS: Not sure I would trust ChatGPT to verify my code fully. For example, if you store your API key in an environmental var called OPENAI_API_KEY
and you show this environmental var being read by your code, ChatGPT will know know if your OPENAI_API_KEY
environmental var actually exists or has been exported and available to your code. ChatGPT is useful for sure, but traditional debugging methods are also required.
Reminder, check out the error guide for suggestion on how to resolve these errors: OpenAI API
Hi, I am running into a similar problem here. I am trying to harness GPT3 to perform the analysis of a snipet of text and use the response to populate an Excel table. I am therefore using VBA to code this: I reworked the code several times and can’t seem to find what is wrong:
'Insert code to send and receive API treatment by GPT3 here
Dim xmlhttp As Object
Set xmlhttp = CreateObject("MSXML2.XMLHTTP")
Dim APIKey As String, EndPoint As String, RequestBody As String
EndPoint = "https://api.openai.com/v1/completions"
APIKey = WSS.Environment("User").Item("OPENAI_API_KEY")
RequestBody = "{ ""model"": ""text-davinci-003"",""prompt"": ""Translate: ""This is a test"" in French."", ""max_tokens"": 4000, ""temperature"": 0,3 }"
xmlhttp.Open "POST", EndPoint, False
'xmlhttp.SetRequestHeader "User-Agent", "Chrome"
xmlhttp.SetRequestHeader "Content-Type", "application/json"
xmlhttp.SetRequestHeader "Authorization", "Bearer " & APIKey
xmlhttp.Send RequestBody
If xmlhttp.Status = 200 Then
ResponseText = xmlhttp.ResponseText
requestResponse = ResponseText
MsgBox (requestResponse)
Else
ResponseText = "Error: " & xmlhttp.Status & " " & xmlhttp.StatusText
MsgBox (ResponseText)
Exit Sub
End If