Webが使えてもAPIで失敗することがある
Webアクセスでは通常、ブラウザーまたはシステムのプロキシ経路が使われます。一方、APIリクエストはSDK、ランタイム、独立したプロセスから送信されるため、ブラウザーの設定が引き継がれるとは限りません。プラットフォームによっては、WebとAPIで認可、利用上限、地域のルールが異なります。公式APIを呼び出していることと、APIの利用資格を確認してから、リクエストが想定した通信出口を通っているかを調べましょう。
コマンドラインとSDK
使用中のSDKがHTTPS_PROXY、HTTP_PROXYを読み取るか、明示的なプロキシ指定に対応しているかを確認してください。ランタイムによって動作が異なるため、環境変数を設定しただけで有効になったと判断しないでください。プロキシのアドレスには、VPNDiscクライアントに実際に表示されるローカルアドレスとポートを指定します。他人のポート番号をそのまま使わないでください。また、サブスクリプションリンクをプロキシアドレス欄に入力しないでください。
設定を変更したら対象のプロセスを再起動し、機密情報を含まない最小限のリクエストを送ってください。エラーの種類と発生段階を記録しましょう。ドメインの名前解決失敗、接続タイムアウト、認証失敗、利用上限超過は、それぞれ別に対処する必要があります。テストが成功したら、ストリーミングと通常のリクエストパラメーターを戻してください。
IDEプラグインとリモートワークスペース
エディター本体、拡張機能のホスト、統合ターミナルでは、異なる設定が使われることがあります。IDEとプラグインのプロキシ設定を確認し、設定後は関連プロセスを再起動してください。リモートワークスペースやコンテナを使う場合、リクエストが実際に実行されるのはリモート側かもしれません。ローカルのクライアントに接続済みと表示されても、リモート側のネットワークが変わったとは限りません。
CIと自動化タスク
CIランナーは、個人用PCのシステムプロキシ設定を引き継ぎません。ランナーが動作する環境に、許可されたネットワーク出口を設定し、その地域と利用方法がプラットフォームで認められていることを確認してください。キーはタスク管理サービスのシークレット変数に保存し、ログに出力しないようにしましょう。TLSエラーを解消するために証明書の検証を無効にしないでください。システム時刻、信頼された証明書、企業ネットワークのポリシーを確認してください。