署名の生成

APIクエリーはアカウントのセキュリティを確実に保護するために署名を必要とします。

ここでは署名付きAPIリクエストを生成するサンプルで各手順をご紹介します。このサンプルで作成されたクエリーは有効で、認定リクエストを構成、署名する方法を解説しています。

プロバイダーID(pcode)およびシークレット(secret)のアカウント固有コードはデベロッパーセクションのBacklotアカウントタブにあります。pcodeは28文字、シークレットコードは48文字です。どちらのコードも大文字と小文字を区別し、英数字、ダッシュ(-)、アンダーライン(_)が含まれます。 これらのコードはOoyalaサーバーとの各リクエストのやり取りに署名の生成を必要とします。

例: [/reference/refbody/section/pre {"codeBlock"}) Partner Code:lsNTrbQBqCQbH-VA6ALCshAHLWrV Secret Code: hn-Rw2ZH-YwllUYkklL5Zo_7lWJVkrbShZPb5CD1 (pre]
Note: これらのパラメータは予備テストのためにあらゆるBacklotパートナーにAPI経由でアクセス出来る共有アカウントを指し示しています。このアカウントにアップロードされたコンテンツおよびメタデータはすべてのユーザーが閲覧可能です。

pcode、シークレットコード、必須パラメータおよび該当するすべての任意パラメータはコールのためのSHA-256署名の生成に使用されます。 こちらの例は署名の生成方法と、コールするためにパラメータをURIエンコードする方法を示しています。

  1. Backlotアカウントタブのデベロッパーエリアにある40文字のシークレットコードで始めます。
    hn-Rw2ZH-YwllUYkklL5Zo_7lWJVkrbShZPb5CD1
  2. パラメータ名をアルファベット順にソートし、<name>=<value>ペアを文字列に追加します。SHA-256署名は結果によって生成され、pcodeは含まれません。この例はexpires=1893013926, label[0]=any/some, statistics=1d,2d,7d,28d,30d,31d,lifetime, status=upl,live,を使用しています。 title=a.
    hn-Rw2ZH-YwllUYkklL5Zo_7lWJVkrbShZPb5CD1expires=1893013926label[0]=any/somestatistics=1d,2d,7d,28d,30d,31d, lifetime,status=upl,live,title=a
  3. この文字列でBase64形式のダイジェストSHA-256を生成し、文字列を43文字に切り捨て、後端のすべての '='記号を取り除きます。 署名、特に'+'、'='、'/'をURIエンコードします。 この例は次の署名を作り出します
    dDiJo3LKLqPnqCpzEHDYBBNBe%2FmBgV3%2BVt9eiTgFYGk
  4. 最終的なクエリーURLを作成するには、http://www.ooyala.com/api/partner?で始め、その後にBacklotアカウントタブのデベロッパーエリアにあるパートナーコードを続けて下さい。 &で区切ったクエリーパラメータをアルファベット順に追加し、ステップ3で算出されたダイジェストを組み込むために、signature=<signature>で締めくくります。

    すべてのパラメータはクエリーに追加する前にURIエスケープする必要があります。署名の生成中でなく、クエリー内でパラメータをURLエスケープするようにしてください。

この記事はお役にたちましたか?