レコードコメントの投稿
アプリIDとレコードIDを指定してレコードにコメントを投稿できます。
- APIトークンを利用した場合、投稿ユーザーは「Administrator」になります。
- メンションの名前は投稿ユーザーの言語設定が利用されます。
- 停止ユーザー、削除ユーザー・組織・グループには通知されません。
- ゲストスペースの場合、退会したユーザーは削除ユーザーと同じ動作になります。
- 招待中のゲストユーザーにメンションを指定するとエラーになります。
- レコードのコメント機能が無効な場合に実行するとエラーになります。
HTTP メソッド
POST
URI
https://(サブドメイン名).cybozu.com/k/v1/record/comment.json
ゲストスペース内のアプリの場合
https://(サブドメイン名).cybozu.com/k/guest/(スペースのID)/v1/record/comment.json
必要なアクセス権
- コメントを投稿するアプリの閲覧権限
- コメントを投稿するレコードの閲覧権限
リクエストパラメータ
パラメータ名 | 指定する値 | 必須 | 説明 |
---|---|---|---|
app | 数値又は文字列 | 必須 | アプリのIDを指定します。 |
record | 数値又は文字列 | 必須 | レコードIDを指定します。 |
comment | オブジェクト | 必須 | コメントの情報です。 |
comment.text | 文字列 | 必須 | コメントの内容です。 コメントの最大文字数は65535文字です。 |
comment.mentions | 配列 | メンションの宛先情報です。 | |
comment.mentions[].code | 文字列 |
メンション先のユーザー・組織・グループコードです。 ※メンション先のユーザーにゲストユーザーを指定する場合、 |
|
comment.mentions[].type | 文字列 |
メンション先のユーザー・組織・グループの種類です。
|
リクエストの例
リクエストヘッダを含んだ文字列
POST /k/v1/record/comment.json HTTP/1.1 Host: example.cybozu.com:443 X-Cybozu-Authorization: QWRtaW5pc3RyYXRvcjpjeWJvenU= Authorization: Basic QWRtaW5pc3RyYXRvcjpjeWJvenU= Content-Type: application/json
- Content-Type に application/json を指定して下さい。 指定しない場合は JSON が解釈できないため、実行時エラーとなります。
ボディ
レスポンス
投稿したコメントのIDが返されます。
JavaScriptサンプル
kintone REST APIリクエストを送信する API を使ったリクエスト
XMLHttpRequest を使ったリクエスト
APIトークンで投稿した例
制限事項
共通仕様の制限事項 をご確認ください。
上記APIトークンを使用したコメント投稿を行ったのですが、
投稿者が、ログインユーザーとなりました。
現在の仕様と変更されているのでしょうか?
鶴見様
お世話になっております。
cybozu developer network 運営局です。
変更されていない認識です。
また、API トークンによる認証で curl にて実行してみましたが、Administrator で投稿されたことを確認いたしました。
差し支えなければ、ドメイン情報や認証情報を秘匿していただき、
コメント投稿リクエスト部分のコードをご教示いただけないでしょうか?
鶴見様
お世話になっております。
cybozu developer network 運営局です。
見たところ、API トークンではなく、「"__REQUEST_TOKEN__": kintone.getRequestToken()」と指定しているので、
セッション認証が使われております。
https://developer.cybozu.io/hc/ja/articles/115005294843
API トークン認証を行うには、リクエストのヘッダーとして X-Cybozu-API-Token の指定が必要です。
参照:API トークン認証 / APIトークンを使ってみよう
例えば、次のリクエストだとAPIトークン認証でリクエストできるかと思います。
ご返答ありがとうございます。
トークン認証方法が違ったのですね。
お手数おかけしました。
無事解決しました。
メンション先のユーザーにゲストユーザーを指定する場合、どのように指定すればよいでしょうか?
ゲストユーザー名「●●」 ログインメールアドレス「●●@●●.com」
どちらを設定しても、「ユーザーが見つかりません」というエラーになります。
やーさん 様
お世話になっております。cybozu developer network でございます。
メンション先のユーザーにゲストユーザーを指定する場合、
下記のようにcodeを「guest/ログインメールアドレス」に指定する必要があります。
後ほど記事に記載を追加いたします。ご指摘頂きありがとうございました。
よろしくお願いいたします。
普通にコメント欄に投稿した場合、メンション先のユーザーにメールが届くような設定になっています。
この方法で、submit.successイベントで自レコードへコメント投稿した場合、メンション先のユーザーにメールが届かないようです。
メール通知されない仕様なのでしょうか?
まちゃ 様
お世話になっております。cybozu developer network 運営でございます。
標準設定では今回のようにREST APIを用いてkintoneを操作した場合はメールでの通知をしないようになっています。(場合によっては大量のメール送信が発生する可能性があるためです)
APIを実行した場合でも通知メールを送信したい場合は、下記のヘルプを参照ください。
「REST APIの通知をメールで送信」とは
よろしくお願い致します。
回答ありがとうございます。この方法で試してみます。