我正在尝试在Google应用程序脚本中使用OpenAI API,但在运行cURL时遇到了一些问题。文件显示:
curl https://api.openai.com/v1/completions
-H "Content-Type: application/json"
-H "Authorization: Bearer YOUR_API_KEY"
-d '{"model": "text-davinci-002", "prompt": "Say this is a test", "temperature": 0, "max_tokens": 6}'
我在GAS:中这样写道
function myFunction() {
var url = "https://api.openai.com/v1/completions";
var headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer ******',
'data': {
'model': 'text-davinci-002', 'prompt': 'Say this is a test', 'temperature': 0, 'max_tokens': 6
}
};
var response = UrlFetchApp.fetch(url, headers);
var text = response.getResponseCode();
var data = JSON.parse(response.getContentText());
Logger.log(data);
}
其中******是我从帐户获得的API密钥。当我运行这个脚本时,我得到一个错误,说我没有提供我的API密钥。我仔细检查了一遍,密钥是正确的,所以我猜我的格式有问题吗?TIA-
在您的脚本中,以下修改如何?
发件人:
var headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer ******',
'data': {
'model': 'text-davinci-002', 'prompt': 'Say this is a test', 'temperature': 0, 'max_tokens': 6
}
};
var response = UrlFetchApp.fetch(url, headers);
收件人:
var options = {
'contentType': 'application/json',
'headers': { 'Authorization': 'Bearer ******' },
'payload': JSON.stringify({ 'model': 'text-davinci-002', 'prompt': 'Say this is a test', 'temperature': 0, 'max_tokens': 6 })
};
var response = UrlFetchApp.fetch(url, options);
注:
- 这个修改假设您的样例curl命令运行良好。请小心
参考:
- fetch(url,params(