# API経由で新規タスクを作成する際にユーザー選択の値を登録しようとするとエラーが起こる

**URL:** <https://community.cybozu.dev/t/topic/7818>\
**Category:** kintone 開発相談\
**Created:** [2023 年 7 月 14 日午前 9:19 UTC](https://community.cybozu.dev/t/topic/7818 "2023-07-14T09:19:31Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![T.K](https://avatars.discourse-cdn.com/v4/letter/t/4491bb/32.png) [@T.K](https://community.cybozu.dev/u/T.K)\
**Post date:** [2023 年 7 月 14 日午前 9:19 UTC](https://community.cybozu.dev/t/topic/7818/1 "2023-07-14T09:19:31Z")

</div>

### 何を実現したいのかを書きましょう

PowerShellにて、Excelの情報をAPI経由で新規レコードとして作成できるようにしたいです。

### 発生した問題やエラーメッセージを具体的に書きましょう

その中で、ユーザー選択フィールドに対応する情報を組み込もうとすると以下のようなエラーが発生します。

Invoke-RestMethod : {“code”:“CB\_IJ01”,“id”:“kQNmpYZx3xA84qKlmX3f”,“message”:“不正なJSON文字列です。”}

### 実行したコードをコピー＆ペーストしましょう

```javascript
# kintoneの接続情報
$domain = 'xxx.cybozu.com'
$appId = 'xxx'
$apiToken = 'xxx'

# レコードを一括作成
$recordUrl = "https://$domain/k/v1/records.json"

# CSVファイルパスとエンコーディング
$csvFilePath = 'C:\Users\ITS12308\Desktop\kintone.csv'

# CSVファイルを読み込む
$csvData = Import-Csv -Path $csvFilePath -Encoding oem

# レコード情報の格納用変数
$recordDataList = @()

# CSVの各行を処理
foreach ($row in $csvData) {
    # レコード情報を作成し、$recordDataListに追加
    $recordData = @{
      # '文字列 __1行_' = @{"value"=$row.文字列__ 1行_}
      # '文字列 __1行__ 0' = @{"value"=$row.文字列 __1行__ 0}
      # '文字列 __1行__ 1' = @{"value"=$row.文字列 __1行__ 1}
        '_1' = @{"value"=$row.最優先}
        '_2' = @{"value"=$row.Status}
        '_3' = @{"value"=$row.Phase}
        '_4' = @{"value"=$row.業務種類}
        '_5' = @{"value"=$row.グループ名}
        '_6' = @{"value"=$row.作業タイトル}
        '_7' = @{"value"=$row.作業開始日}
        '_8' = @{"value"=$row.作業期限日}
        '_9' = @{"value"=
            @{ "code"= $row.ログインメールアドレス
               "name"= $row.作業担当者
               }
                }
        '_10' = @{"value"=$row.工数__予想人日_}
        '_11' = @{"value"=$row.工数__実績人日_}
        '_12' = @{"value"=$row.詳細メモ}

        # 必要なフィールドと値を追加
    }
    $recordDataList += $recordData
}

# レコードを一括作成
$recordUrl = "https://$domain/k/v1/records.json"

Write-Host $records

$records = @{
    'app' = $appId
    'records' = $recordDataList
} | ConvertTo-Json -Depth 30

# json をバイト配列にする
$body = [System.Text.Encoding]::UTF8.GetBytes($records)

 #>

$headers = @{
    'X-Cybozu-API-Token' = $apiToken
}

$response = Invoke-RestMethod -Uri $recordUrl -Headers $headers -ContentType 'application/json' -Method Post -Body $body

# レスポンスの確認
if ($response -ne $null) {
    Write-Host "レコードの作成に成功しました。"
} else {
    Write-Host "レコードの作成に失敗しました。"
    Write-Host $response
}

```

\<検証済み事項\>  
ユーザー選択のフィールドコード’\_9’に関連するコードを除いた場合は問題なく、新規タスクが作成される  
「xxx」に部分については自社テナントのドメイン、アプリID、APIトークンを入力、動作確認済み。  
エクセル内の情報(列名の文字コード、表示形式など)は問題ないことを確認済み

---

<div class="post-metadata">

**Author:** ![mls-hashimoto](https://sea1.discourse-cdn.com/flex015/user_avatar/community.cybozu.dev/mls-hashimoto/32/34_2.png) [@mls-hashimoto](https://community.cybozu.dev/u/mls-hashimoto)\
**Post date:** [2023 年 7 月 15 日午前 12:07 UTC](https://community.cybozu.dev/t/topic/7818/2 "2023-07-15T00:07:48Z")

</div>

```javascript
        '_9' = @{"value"=
            @{ "code"= $row.ログインメールアドレス
               "name"= $row.作業担当者
               }
                }

```

↓

```javascript
        '_9' = @{"value"=
          @(
            @{
               "code"= $row.ログインメールアドレス
               "name"= $row.作業担当者
            }
          )
        }

```

ユーザー選択フィールドはcode,nameのkeyを持つオブジェクトの配列になります。フィールドごとの値については[フィールド形式](https://cybozu.dev/ja/kintone/docs/overview/field-types/#field-type-update)を参照して下さい。

---

<div class="post-metadata">

**Author:** ![T.K](https://avatars.discourse-cdn.com/v4/letter/t/4491bb/32.png) [@T.K](https://community.cybozu.dev/u/T.K)\
**Post date:** [2023 年 7 月 19 日午前 12:34 UTC](https://community.cybozu.dev/t/topic/7818/3 "2023-07-19T00:34:29Z")

</div>

ご回答いただきありがとうございます。ご提示いただきましたコードを参考にこちらでも試し、無事エラーが解消されました。

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex015/uploads/cybozu/original/1X/d5c841c3c5a6cb66eed514001c1b45147c9e1f4f.png) [@system](https://community.cybozu.dev/u/system)\
**Post date:** [2023 年 7 月 22 日午前 12:34 UTC](https://community.cybozu.dev/t/topic/7818/4 "2023-07-22T00:34:30Z")

</div>

このトピックは最後の返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。
