47 lines
1.6 KiB
PHP
47 lines
1.6 KiB
PHP
|
|
<?php
|
||
|
|
/**
|
||
|
|
* Gemini API Key 조회 API
|
||
|
|
* 보안을 위해 서버 측에서 API 키를 관리합니다.
|
||
|
|
*/
|
||
|
|
header('Content-Type: application/json; charset=utf-8');
|
||
|
|
|
||
|
|
// API 키 파일 경로 (프로젝트 루트의 apikey 디렉토리)
|
||
|
|
$apiKeyFile = dirname(dirname(__DIR__)) . '/apikey/gemini_api_key.txt';
|
||
|
|
|
||
|
|
try {
|
||
|
|
if (file_exists($apiKeyFile)) {
|
||
|
|
$apiKey = trim(file_get_contents($apiKeyFile));
|
||
|
|
|
||
|
|
// 플레이스홀더 텍스트 체크
|
||
|
|
if (empty($apiKey) ||
|
||
|
|
strpos($apiKey, '================================') !== false ||
|
||
|
|
strpos($apiKey, 'GEMINI API KEY') !== false ||
|
||
|
|
strpos($apiKey, '여기에') !== false ||
|
||
|
|
strlen($apiKey) < 20) {
|
||
|
|
echo json_encode([
|
||
|
|
'success' => false,
|
||
|
|
'error' => 'API Key가 설정되지 않았습니다. apikey/gemini_api_key.txt 파일에 유효한 API Key를 입력해주세요.'
|
||
|
|
], JSON_UNESCAPED_UNICODE);
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
|
||
|
|
echo json_encode([
|
||
|
|
'success' => true,
|
||
|
|
'apiKey' => $apiKey
|
||
|
|
], JSON_UNESCAPED_UNICODE);
|
||
|
|
} else {
|
||
|
|
// 파일이 없으면 생성 안내
|
||
|
|
echo json_encode([
|
||
|
|
'success' => false,
|
||
|
|
'error' => 'API Key 파일을 찾을 수 없습니다. apikey/gemini_api_key.txt 파일을 생성하고 API Key를 입력해주세요.'
|
||
|
|
], JSON_UNESCAPED_UNICODE);
|
||
|
|
}
|
||
|
|
} catch (Exception $e) {
|
||
|
|
echo json_encode([
|
||
|
|
'success' => false,
|
||
|
|
'error' => 'API Key를 읽는 중 오류가 발생했습니다: ' . $e->getMessage()
|
||
|
|
], JSON_UNESCAPED_UNICODE);
|
||
|
|
}
|
||
|
|
?>
|
||
|
|
|