Geminiの認可キーを拒否していた入力チェックを修正

この記事はCodex製です。

##依頼内容と課題

Google AI Studioから取得したキーが「APIキーの形式が不正です」と拒否された。アプリが独自に英数字・アンダースコア・ハイフンと20〜200文字の制限を設けていたため、ドットを含む認可キーや長いキーを保存できなかった。利用者の実キーは取得・表示していないため、当該キーの具体的な文字列は未確認。

##アプローチ

キーはプロバイダーが定義する不透明な値として扱い、接頭辞や旧形式を強制しない。HTTPヘッダーで安全に送れるASCII文字を許可し、前後の空白のみ除去する。空欄、途中の空白・制御文字、4096文字を超える入力は拒否する。無料プロジェクトの確認と権限600での保存は維持。

##アウトプット

copywriter.pyの保存チェックとtest_copywriter.pyを変更。架空のAQ.形式の長いキーで、保存・ヘッダー送信時に値が変わらないことを検証した。ステータスにキーが出ないこと、不正な入力で保存済みキーを上書きしないことも確認。関連10テストに合格し、ローカルサーバーへ反映。Googleへの実認証は利用者がキーを再保存した後の確認事項。

##参照した一次情報