ログインおよびリクエストの送信
このセクションでは、手軽に始めるときに役に立つ RAS REST API の使用方法の例を紹介します。例では、次の方法を説明しています。
- Parallels RAS にログインしてセッショントークンを取得する。
- 利用できるすべての RD セッションホストについての情報を取得する。
- 特定の RD セッションホストについての情報を取得する。
- RD セッションホストプロパティを変更する。
Parallels RAS にログインしてセッショントークンを取得する
任意のリソースにアクセスするには、管理者の資格情報を使用して Parallels RAS にログインし、セッショントークンを取得する必要があります。これを実行するには、次のリクエストを送信します。
POST https://<API-host>/api/session/logon
リクエストヘッダー: このログオンリクエストには、Content-Type リクエストヘッダーのみを含める必要があります。この後の例で示されるように、後続のリクエストには、さらに auth_token ヘッダーを含める必要があります。
Content-Type: application/json; api-version=1.0
リクエスト本文: リクエスト本文には、RAS 管理者のユーザー名とパスワードを含める必要があります。
{
"username": "USER",
"password": "PASSWORD"
}
応答: ログオンリクエストの送信後、セッショントークンが含まれる返信を受け取ります。これは、後続のすべてのリクエストで使用します。
{
"authToke n": "Lj+KddoJkANhzvbDRvB=K=DFCroRjXJHeeWGbGlIRKaz-EXplbmhVWvWTiDVqtOq"
}
RD セッションホストについての情報を取得する
セッショントークンを入手したので、さまざまなリソースにアクセスするためのリクエストを送信できるようになりました。この例では、まず、利用できるすべての RD セッションホストについての情報を取得します。この後の例で、特定の RD セッションホストについての情報を取得します。
RD セッションホスト情報を取得するには、次のリクエストを送信します。
GET https://<API-host>/api/RDS
リクエストヘッダー: 今回は、auth_token リクエストヘッダーも含まれ、ここに、事前に取得したセッショントークンが含まれている必要があります。
Content-Type: application/json; api-version=1.0
auth_token: Lj+KddoJkANhzvbDRvB=K=DFCroRjXJHeeWGbGlIRKaz-EXplbmhVWvWTiDVqtOq
応答: 応答は次のようになります(ファーム内の複数の RD セッションホストを使用すると、結果セットの各ブロックに個別のサーバーについての情報が含まれます)。
[
{
"directAddress": "IP_ADDR",
"rasTemplateId": 0,
"inheritDefaultAgentSettings": true,
"inheritDefaultPrinterSettings": true,
"inheritDefaultUPDSettings": true,
"inheritDefaultDesktopAccessSettings": true,
"port": 3389,
…
"restrictDesktopAccess": false,
"restrictedUsers": [],
"server": "IP_ADDR",
"enabled": true,
"description": "",
"siteId": 1,
"id": 2
}
]
特定の RD セッションホストについての情報を取得する
特定のサーバーについての情報を取得するには、上述と同じリクエストを使用しますが、末尾にサーバー ID を追加します。
GET https://<API-host>/api/RDS/2/
この応答も上述の例と同様になり、特定のサーバーのみの情報が含まれます。
RD セッションホストプロパティを変更する
この例では、事前に取得した RD セッションホストのプロパティを変更します。わかりやすくするため、[説明] フィールドを変更します。
RD セッションホストのプロパティを変更するリクエストの構文は次のようになります。
PUT https://<API-host>/api/RDS/2/
リクエストの末尾に“2”が付いていますが、これは、変更する RD セッションホストの ID を指定しています。
リクエストヘッダー:
- Content-Type: application/json; api-version=1.0
- auth_token: Lj+KddoJkANhzvbDRvB=K=DFCroRjXJHeeWGbGlIRKaz-EXplbmhVWvWTiDVqtOq
リクエスト本文:
{
"description": "description was updated!"
}
応答: PUT リクエストが成功すると、空の応答と、コード“204: No Content”を受け取ります。[説明] フィールドが実際に変更されたかどうかを確認するには、以前に使用したのと同じ GET リクエストを使用します。GET https://<API-host>/api/RDS/2/
ご覧のように、結果に更新された [説明] フィールドが含まれるようになりました。
[
{
"directAddress": "IP_ADDR",
"rasTemplateId": 0,
"inheritDefaultAgentSettings": true,
…
"server": "IP_ADDR",
"enabled": true,
"description": "description was updated!",
"siteId": 1,
"id": 2
}
]