Код выглядит следующим образом:
Код: Выделить всё
public static final MediaType JSON = MediaType.get("application/json");
OkHttpClient client = new OkHttpClient();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
callAPI();
}
void callAPI(){
JSONObject jsonBody = new JSONObject();
try {
jsonBody.put("model","text-davinci-003");
jsonBody.put("prompt","for testing, say hii...");
jsonBody.put("max_tokens",4000);
jsonBody.put("temperature",0);
} catch (JSONException e) {
e.printStackTrace();
}
RequestBody requestBody = RequestBody.create(jsonBody.toString(),JSON);
// Replace 'YOUR_API_KEY' with your actual API key obtained from OpenAI
String apiKey = "sk-proj-5RU4XAKQXXXXXXXX";
Request request = new Request.Builder()
.url("https://api.openai.com/v1/completions")
.header("Authorization","Bearer " + apiKey)
.post(requestBody)
.build();
Log.d("APIApp", "callAPI: ==============");
client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(@NonNull Call call, @NonNull IOException e) {
Log.d("APIApp", "onFailure: " + e);
}
@Override
public void onResponse(@NonNull Call call, @NonNull Response response) throws IOException {
if(response.isSuccessful()){
Log.d("APIApp", "onResponse: " + response.toString());
}else{
Log.d("APIApp", "onResponseFail: " + response.toString());
}
}
});
}
onResponseFail: Response{protocol=h2, code=404, message=,
url=https://api.openai.com/v1/completions
при нажатии на URL-адрес:
< blockquote>
{
"error": {
"message": "Вы не предоставили ключ API. Вам необходимо указать свой ключ API в заголовке авторизации, используя Bearer auth (т. е.
Авторизация: носитель YOUR_KEY) или в качестве поля пароля (с пустым
имя пользователя), если вы получаете доступ к API из браузера и вам
запрашивается имя пользователя и пароль. Вы можете получить ключ API по адресу
https://platform.openai.com/account/api-keys.",
"type": "invalid_request_error",
"param": null ,
"code": null
}
Подробнее здесь: https://stackoverflow.com/questions/786 ... se-failing
Мобильная версия