“REST API” 3 分間クッキング


SharePoint 2013 で提供される REST API を利用して検索結果を取得する超簡単 PowerShell アプリケーションを作ってみましょう。PowerShell 3.0 が利用可能な環境 (Windows 8 や Windows Server 2012 または PowerShell 3.0 導入済みの Windows 7 等) であれば、3 分もあれば実行できます。

  1. Windows 7 なヒトで PowerShell 3.0 が実行可能になっていない人は、ココから適切な環境用の Windows Management Framework 3.0 をダウンロードして、インストールしてください
  2. Get-Credential コマンドレットで資格情報を作成します (ユーザー名とパスワードに REST API を利用して検索結果を取得するサイトで利用するユーザー名とパスワードを入力します)
    $cred = Get-Credential
    image
  3. 資格情報のパスワード (をセキュア化した文字列) を取得します
    $cred.Password | ConvertFrom-SecureString
  4. 以下の PowerShell スクリプト ファイル (SimpleSearch.ps1) を UTF-8 エンコーディングで作成し、実行すると、同じフォルダに output.xml というファイル名で検索結果が XML 形式で出力されます

$RESTPath = ‘search/query?querytext=”検索キーワード”’
$BaseURI = ‘http://サーバー
$Uri = ‘{0}/_api/{1}’ -f $BaseURI,$RESTPath

# 資格情報の指定
$encryptedString=”上記 3 で取得した文字列 (改行は削除)
$credential = New-Object System.Management.Automation.PSCredential “ユーザー名@ドメイン名“,(ConvertTo-SecureString $encryptedString)

# REST API の実行
Invoke-RestMethod -Method GET -Uri $Uri -Credential $credential -OutFile output.xml

検索結果は、以下のような内容で出力されているはずです。後はアプリケーション側でパースして表示するだけです。

image

広告