この投稿のようなコードで、Firebase を使用するプロジェクトで Google Books API を呼び出しています。
しかし、私は生産上の問題に直面しています。これをローカルで試してみると、Google Books API
問題なく接続できますが、本番環境では失敗し続け、500 error
得られる唯一の詳細は次のとおりです。
{"error":{"message":"INTERNAL","status":"INTERNAL"}}
ここで試してみるべきアイデアはありますか?開発者のコンソールで API キーを無制限に設定しましたが、動かなくなりました。
firebase からのクラウド呼び出しは次のとおりです。
export const getGoogleBooks = functions.https.onCall(
async function(data: any, context: functions.https.CallableContext) {
const query: string = data.query;
console.log(`Received query loud and clear: ${query}`);
try {
const res = await fetch(`https://www.googleapis.com/books/v1/volumes?q=${query}&key=xxxx`);
const json = await res.json();
return json;
} catch(err) {
throw new functions.https.HttpsError("internal", 'Failed to search books online');
}
}
);
Google コンソールで API キーのアクセス許可がどのように表示されるかを次に示します。
ローカル、Postman、またはブラウザでリクエストを試すと、リクエストは問題ないように見えますが、本番環境では上記のエラー メッセージが表示されます。