背景・実現したいこと
PEPシナリオのAPIノードを利用してkintoneアプリにrecordを登録する。
状況
成功と判断されるが、ターゲットアプリに空白のrecordが追加される。
設定
URL:https://xxxxxx.cybozu.com/k/v1/record.json
HTTPメソッド:POST
Content-Type:application/json
HTTPヘッダー
キー:X-Cybozu-API-Token
値:(設定したAPIトークン)
ボディ
キー:app
値:(ターゲットのアプリID)
キー:record
値:{“name”: {“value”: “きんとーん” }}
以上です。
空白のrecordが追加されるので、最後のrecord部分の記述とは思うのですが、前例ある方がいらっしゃればご教授お願いします。
値:{“name”: {“value”: “きんとーん” }} → ☓
値:“name”: {“value”: “きんとーん” } → ☓
値:‘{“name”: {“value”: “きんとーん” }}’ → ☓
値:{‘name’: {‘value’: ‘きんとーん’ }} → ☓
向井武士さん
こんにちは。
PEPは使ったことがないのですが、以前に似たようなシステムで同じようなことがあり
その時は日本語がエンコードされていないことが原因でした。
「name」というのはフィールドコードでしょうか。
「きんとーん」を「kintone」など英語表記に変えてみて挙動は変わりますでしょうか。
kouichi様
お世話になります。
'name’はフィールドコードです。(一行文字列)
{‘name’: {‘value’: ‘kintone’ }}
で送信しても同じ結果でした。
ボディ部分で’app’が正しく動作しているので、recordの値と見ています。
上記以外に色々試しましたがデフォルト値(空白)のレコードが追加される状態です。
ご確認いただきありがとうございます。
JSONの書き方は問題ないと思うのですが。
{name:{value:"kintone"}}
クォーテーション取ったり、スペース取ったりしても変わらないですよね。
PEP側で特有の書き方があるのかもしれません。
PEPサポートに問い合わせされた早い解決に繋がるかもです。
気になるので私もPEPトライアルしてみます。
koichi様
ありがとうございます。
上記で試しても同様でした。
PEP側にもここのページURLを送って問合せします。
koichi様
ボディ部分をパラメータで「キー+値」で設定するのではなく、ボディ部分を「RAW payload」にすべてベタで記述する方法をアドバイスされました。
つまり…
ではなく以下の様にRAW payload側に要素すべてを記載。
これでKintone側のレコードにbotから内容が入りました。
蓋を開けてみれば「なぁんだ」となるのですが、ちょっと癖のあるつくりでした。
補足します。
PEPで変数等を記載する場合…
{
"app": "170",
"record": {
"name": {"value": {% get_platform_username %} }
}
}
と書くと失敗します。
違和感を感じると思いますが、変数もダブルクォーテーションで囲む必要があります。
( {% get_platform_username %} は、ユーザー名の変数)
変数が「{xxxx}」と表記される為、囲まないと要素扱いになりJSONの形式になりません。
{
"app": "170",
"record": {
"name": {"value": "{% get_platform_username %}" }
}
}
癖の強い仕様です。
補足ありがとうございます。
これはメーカーに聞かないと分からないですね。
向井さんの質問だったのに、私が勉強させてもらいました。
PEPトライアル開始待ちなので、開始したら私も試したいと思います。
system
(system)
クローズされました:
11
このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。