多くのAPIでは署名検証が必要であり、通常のワークフローでは、まず手動で署名APIにアクセスし、取得した署名を他のリクエストに添付します。このプロセスは非常に煩雑です。このフローを効率化するために、他のAPIにリクエストする際に最新の署名を自動的に取得する方法を提供します。API署名の取り扱い方法#
1.
署名ロジックを実装するパブリックスクリプトを作 成し、APIリクエストパラメータを読み取り、組み込みライブラリ(例:crypto-js)を使用して署名を生成します。
2.
生成された署名をパラメータとして追加する方法は2つあります。方法1: 署名パラメータを追加し、スクリプトを介して直接リクエスト情報を変更します(環境変数を使用する必要はありません)。
方法2: 生成された署名を環境変数に書き込み、APIパラメータでその変数を参照します。
3.
上記で作成したパブリックスクリプトをAPIの前処理スクリプトで参照します。
4.
署名アルゴリズムが他の言語で記述されている場合、dog.execute
メソッドを使用して他の言語で記述されたプログラムを呼び出すことができます。
署名生成ルール#
ステップ1: パラメータを集合Mとして設定します。集合M内の空でないパラメータをASCIIコードに基づいて昇順に並べ替え、URLキー値ペア形式(つまりkey1=value1&key2=value2...)を使用して空でないパラメータをstringAに連結します。
ヒント1.
パラメータ名をASCIIコードに基づいて昇順(辞書順)に並べ替えます。
ステップ2: stringAの末尾にキーを連結してstringSignTempを取得し、stringSignTempにMD5アルゴリズムを使用し、結果の文字列を大文字に変換してsignValueを取得します。パブリックスクリプトの実装#
翻訳API署名の例#
署名生成ルール#
ステップ1: appid、翻訳対象のテキストq(UTF-8エンコーディング)、ランダムな数値salt、およびプラットフォームが割り当てたキー(管理コンソールで利用可能)をappid + q + salt + keyの順序で連結してstring 1を作成します。ステップ2: string 1にmd5アルゴリズムを使用して32ビットの小文字の署名を取得します。1.
翻訳対象のテキスト(q)はUTF-8エンコーディングである必要があります。
2.
appid+q+salt+keyを署名に連結する際、qにURLエンコードを適用しないでください。署名が生成された後、HTTPリクエストを送信する前にqにURLエンコードを適用します。
パブリックスクリプトの実装#
Modified at 2025-01-08 08:29:55