匿名ユーザーとしてのアクセス

匿名ユーザーとして REST API を実行する方法には、以下の 2 通りがあります。

Basic 認証を利用する方法

匿名ユーザーとしてアクセスする度に Basic 認証を行う方式です。

Basic 認証は、AppID と任意の値をそれぞれユーザー名、パスワードとして指定して行います。具体的には AppID と任意の値をコロン(:) で連結した文字列を Base64 でエンコードしたものを Authorization: Basic ヘッダに埋め込んでリクエストを送信します。

一例として、AppID が 12345678、任意の値が 1234567890abcdef1234567890abcdef の場合、これらの値をコロンで連結した 12345678:1234567890abcdef1234567890abcdef を Base64 でエンコードした MTIzNDU2Nzg6MTIzNDU2Nzg5MGFiY2RlZjEyMzQ1Njc4OTBhYmNkZWY=Authorization: Basic に埋め込みます。

匿名ユーザートークンを指定する方法

最初に匿名ユーザートークンを取得し、後続の処理ではこの匿名ユーザートークンを HTTP ヘッダ Authorization: Bearer に埋め込む方式です。

以下に、匿名ユーザートークンを取得する例をあげます。

curl -v -X POST \
  -H "Authorization: Basic {BASE64_ENCODED_APPID_AND_APPKEY}" \
  -H "Content-Type: application/json" \
  "https://api-jp.kii.com/api/apps/{APP_ID}/oauth2/token" \
  -d '{
        "grant_type": "client_credentials",
        "client_id": "{APP_ID}",
        "client_secret": "{APP_KEY}",
        "expiresAt": {EXPIRED_TIME}
      }'

匿名ユーザートークンの取得は Basic 認証を使って行います。Basic 認証を利用する方法 で解説したように、{BASE64_ENCODED_APPID_AND_APPKEY} には AppID と任意の値をコロン(:) で連結した文字列を Base64 エンコードしたものを入れてください。

{APP_ID}{APP_KEY} には、それぞれアプリの AppID と任意の値を入れてください。さらに expiresAt パラメータを指定することで匿名ユーザートークンの有効期限(UNIX 時間・ミリ秒、UTC)が設定できます。有効期限の設定がない場合、匿名ユーザートークンは永久的に有効となります。

正しい AppID が渡されると Kii Cloud は次のように応答します。応答中の "access_token" が匿名ユーザートークンです。また "expires_in" は、この匿名ユーザートークンが有効な時間(秒)です。

HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: application/json
Transfer-Encoding: chunked
Date: Mon, 14 May 2012 17:36:41 GMT

{
  "id" : "ANONYMOUS",
  "access_token" : "n44aWtuguvJ9bvwDydXR3sDCSMOBb4ApSSD_Ls8",
  "expires_in" : 2147483646,
  "token_type" : "bearer"
}