Asana APIで日本語文字列を含むセクションが作成したいです

以下のpowershellスクリプトを実行しると、ブラウザ上の表示では「管理センター」の部分が「??????????」という風に文字化け?しています。
文字化けしないようにするにはどのようにリクエストを修正すればよいでしょうか?

# ユーザーにAsana APIのアクセストークンの入力を求める
$accessToken = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
 
# Asana APIにリクエストを送信するためのベースURLを設定
$url = "https://app.asana.com/api/1.0/sections"
 
# APIリクエストのヘッダーを設定
$headers = @{
    "Authorization" = "Bearer $accessToken"
    "Content-Type" = "application/json; charset=utf-8"
}
 
# APIリクエストのボディを設定
$body = @{
    "data" = @{
        "name" = "Microsoft管理センター"
        "project" = "xxxxxxxxxxxxxxxx"


    }
} | ConvertTo-Json
 
# APIリクエストを送信
$response = Invoke-RestMethod -Method Post -Uri "$url" -Headers $headers -Body $body
 
# APIレスポンスから新しいセクションのIDを取得
Write-Host $response.data

このように修正したら、日本語文字列で登録できました。

# ユーザーにAsana APIのアクセストークンの入力を求める
$accessToken = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
 
# Asana APIにリクエストを送信するためのベースURLを設定
$url = "https://app.asana.com/api/1.0/sections"
 
# APIリクエストのヘッダーを設定
$headers = @{
    "Authorization" = "Bearer $accessToken"
    "Content-Type" = "application/json; charset=utf-8"
}
 
# APIリクエストのボディを設定
$body = @{
    "data" = @{
        "name" = "Microsoft管理センター"
        "project" = "xxxxxxxxxxxxxxxx"


    }
} | ConvertTo-Json
 
$body_utf8 = [System.Text.Encoding]::UTF8.GetBytes($body)

# APIリクエストを送信
$response = Invoke-RestMethod -Method Post -Uri "$url" -Headers $headers -Body $body_utf8
 
# APIレスポンスから新しいセクションのIDを取得
Write-Host $response.data
2 Likes

@yamamoto さん、こんにちは :wave: 解決した際の情報も追記していただき誠にありがとうございます!今後も、Asana をご利用される上で疑問点や製品リクエストがありましたら、いつでもお気軽にお知らせください :slight_smile: