FAQ:バッチ処理で添付ファイルをダウンロードしたい
## 回答
[添付ファイル取得API](/ja/manual/api-attachment-get)を使用してください。
---
## 概要
バッチ処理で添付ファイルをダウンロードしたい場合は、[添付ファイル取得API](/ja/manual/api-attachment-get)を使用します。
PowerShellを使って、任意レコードの添付ファイルをダウンロードします。
## 操作手順
1. テーブルを作成し、レコードにファイルを添付してください。
1. Windows PowerShellを開き、以下のスクリプト内容を記載してください。
1. 下記の[servername]、[Guid]、[apiキー]の値を環境に合わせて書き換え、サンプルコードの3~4行目と入れ替えてください。
```
$requestUrl = "http://[servername]/api/binaries/[Guid]/get"
$apiKey = "[apiキー]"
```
レコードのGuidを取得する場合は以下のリンク先に従って取得してください。
[API機能:単一レコード取得](/manual/api-record-get)
### 実行結果
C:\Worksに添付ファイルがダウンロードされます。
![image](https://pleasanter.org/binaries/0bd9a1338d4d49a98313f5484589ddce)
## サンプルコード
##### 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
}
```
## 関連情報
<div id="ManualList"><ul><li><a href="/ja/manual/api-attachment-get">開発者向け機能:API:テーブル操作:添付ファイル取得</a><span>2023/08/17 up</span></li></ul></article></div><input id="SearchTextHidden" type="hidden" value="" />