コンテンツにスキップ
「プリザンター入門」発売中!

バッチ処理で添付ファイルをダウンロードしたい

回答

添付ファイル取得APIを使用してください。


概要

バッチ処理で添付ファイルをダウンロードしたい場合は、添付ファイル取得APIを使用します。
PowerShellを使って、任意レコードの添付ファイルをダウンロードします。

操作手順

  1. テーブルを作成し、レコードにファイルを添付してください。
  2. Windows PowerShellを開き、以下のスクリプト内容を記載してください。
  3. 下記の[servername]、[Guid]、[apiキー]の値を環境に合わせて書き換え、サンプルコードの3~4行目と入れ替えてください。
$requestUrl = "http://[servername]/api/binaries/[Guid]/get"
$apiKey = "[apiキー]"

レコードのGuidを取得する場合は以下のリンク先に従って取得してください。
API機能:単一レコード取得

実行結果

C:\Worksに添付ファイルがダウンロードされます。
C:\Works に添付ファイルがダウンロードされた状態

サンプルコード

PowerShell
Add-Type -AssemblyName "System.Web"
$error.Clear()
$requestUrl = "http://pleasanter.example.local/api/binaries/************************/get"
$apiKey = "********..."
$path = "C:\Works"
trap [Net.WebException] { continue; }
try{
    $json = @{
        ApiKey = $apiKey
    }
    $requestBody = $json | ConvertTo-Json -Depth 3
    $res = Invoke-RestMethod -Uri $requestUrl -ContentType "application/json" -Method POST -Body ${requestBody}
    Write-Output $res
    $byte = [System.Convert]::FromBase64String($res.Response.Base64)
    [System.IO.File]::WriteAllBytes($path + "\" + $res.Response.FileName, $byte)
}
catch {
    Write-Output $_.Exception
}
if ($error.Count -gt 0)
{
    Write-Output $error[0].ErrorDetails.Message | ConvertFrom-Json
}

関連情報