メインコンテンツへスキップ
AccessTokenは、モデルのリクエストに使うAPIキーとは別のもので、アカウントに対してより広い権限を持ちます。
  • サーバー内の環境変数かシークレット管理ツールに保管してください。
  • ブラウザやクライアントアプリには含めないでください。

AccessTokenの取得

1

アカウント設定を開く

コンソールにログインし、アカウント設定を開きます。
2

システムトークンのダイアログを開く

システムトークン(System Token)を選び、コンソールからパスワードを求められたら入力します。
3

AccessTokenをコピーする

表示されたAccessTokenをすぐにコピーして、安全な場所に保管してください。新しいAccessTokenを生成すると以前のものが無効になることがあるため、使用中のサービスはすべて更新してください。
AccessTokenは、ソースコード、ブラウザアプリ、ログ、スクリーンショット、サポートへの問い合わせに含めないでください。サポートに相談するときは、リクエストの時刻、HTTPステータス、レスポンスのメッセージ、伏せ字にしたコマンドを送ってください。

エンドポイント

このリクエストにクエリパラメーターやボディはなく、レスポンスはJSONです。以下の例のように、Authorization の値にはAccessTokenをそのまま指定します。Accept: application/json と Content-Type: application/json は省略できます。cURLでは、レスポンスを展開するために --compressed を付けることをおすすめします。

レスポンス

成功すると、次のようなレスポンスが返ります。
アカウントによっては、ほかのフィールドが含まれることがあります。必要なフィールドだけを読み取り、未知のフィールドはパーサーで無視してください。

クォータを米ドルに換算する

quota と used_quota は、米ドルではなくクォータ単位で返されます。500,000クォータが約1米ドルです。 この換算は表示用です。リクエストの実際の料金は、モデルの料金、トークングループ、呼び出しログに表示される課金額で決まります。アラートに使う場合は、精度を保つため、換算後の金額と一緒に生の quota も保存してください。

コード例

ターミナルで、プレースホルダーを置き換えてAccessTokenを一度だけ設定します。
--compressed を付けないと、ターミナルの出力が文字化けしたり、jq が Invalid numeric literal を報告したりすることがあります。

エラー

401 Unauthorized

Authorization ヘッダーが空、AccessTokenが不完全または無効になっている、あるいはAccessTokenではなくモデル用のAPIキーを送っている場合に発生します。原因ごとの対処は、残高照会APIで401が返るときの対処にまとめています。 ステータスコードとレスポンスボディは、組み合わせて判断してください。
  • Authorization ヘッダーがまったくない場合は、HTTP 401が返り、code が AUTH_REQUIRED になります。
  • AccessTokenが誤っているか期限切れの場合は、HTTP 200で success: false が返り、AccessTokenが無効である旨のメッセージが付きます。
スクリプトでは、ステータスコードだけに頼らず、success を確認してください。

403 Forbidden

この認証情報にはこのエンドポイントへの権限がないか、アカウントについてサポートでの確認が必要です。

文字化け、またはjqのエラー

cURLの出力が文字化けする、または jq が Invalid numeric literal を報告する場合は、圧縮されたレスポンスが展開されていません。cURLのコマンドに --compressed を付けてください。

残高の監視

残高が減る前に気づけるように、このエンドポイントを定期的に確認します。次のスクリプトは、残高がしきい値を下回るとステータス1で終了します。
cronや監視システムから10〜30分おきに実行し、終了コードが0以外のときに通知を送ります。例:
cronはシェルの環境変数を読み込まないため、LAOZHANG_ACCESS_TOKEN はスクリプトかcrontabで渡してください。設定時の注意点は次のとおりです。
  • LAOZHANG_ACCESS_TOKEN は、環境変数かシークレット管理ツールに保管する。
  • リクエストのタイムアウトを、10秒などに設定する。
  • 確認の間隔は控えめにする。残高アラートで毎秒の確認が必要になることはほとんどない。
  • アラートには、quota、換算後の残高、used_quota、request_count、リクエスト時刻、HTTPステータスを含める。
  • Authorization ヘッダー、access_token、その他の機密のアカウント情報は、ログに出力しない。

関連ドキュメント