カテゴリー内の他の記事

レコードコメントの投稿

フォローする

レコードコメントの投稿

アプリ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 文字列   メンション先のユーザー・組織・グループコードです。
指定できるメンション数の上限値は10です。
メンションを指定すると、本文の前にメンションが挿入されます。
comment.mentions[].type 文字列  

メンション先のユーザー・組織・グループの種類です。

  • USER:ユーザー
  • GROUP:グループ
  • ORGANIZATION:組織

リクエストの例

リクエストヘッダを含んだ文字列

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

XMLHttpRequest

APIトークンで投稿した例

制限事項

共通仕様の制限事項 をご確認ください。

記事に関するフィードバック

直接的に記事と関連がないご質問はcybozu developer コミュニティをご活用ください。

Avatar
鶴見

上記APIトークンを使用したコメント投稿を行ったのですが、

投稿者が、ログインユーザーとなりました。

現在の仕様と変更されているのでしょうか?

Avatar
cybozu Development team

鶴見様

お世話になっております。
cybozu developer network 運営局です。

変更されていない認識です。
また、API トークンによる認証で curl にて実行してみましたが、Administrator で投稿されたことを確認いたしました。

curl -X POST 'https://{subdomain}.cybozu.com/k/v1/record/comment.json' \
-H 'X-Cybozu-API-Token:API_TOKEN' -H 'Content-Type: application/json' \
-d '{"app": 168, "record": 20, "comment": {"text": "test","mentions": []}}'

差し支えなければ、ドメイン情報や認証情報を秘匿していただき、
コメント投稿リクエスト部分のコードをご教示いただけないでしょうか?

Avatar
鶴見
運営様
ご対応感謝します。
以下が、リクエスト部分の記述になります。
エラー等の発生はなく、投稿自体は正常に行える状態です。
 
    let body = {
       "app":"app",
       "record":"record",
       "comment":{
         "text":"text"
       },
       "__REQUEST_TOKEN__": kintone.getRequestToken()
    };
    let URL = kintone.api.url('/k/v1/record/comment', true);
    let xhr = new XMLHttpRequest();
    xhr.open('POST', URL);
    xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
    xhr.setRequestHeader('Content-Type', 'application/json');
    xhr.onload = function() {
    if (xhr.status === 200) {
        // success
        console.log(JSON.parse(xhr.responseText));
    } else {
        // error
        console.log(JSON.parse(xhr.responseText));
    }
};
xhr.send(JSON.stringify(body));
Avatar
cybozu Development team

鶴見様

お世話になっております。
cybozu developer network 運営局です。

見たところ、API トークンではなく、「"__REQUEST_TOKEN__": kintone.getRequestToken()」と指定しているので、
セッション認証が使われております。

https://developer.cybozu.io/hc/ja/articles/115005294843

API トークン認証を行うには、リクエストのヘッダーとして X-Cybozu-API-Token の指定が必要です。
参照:API トークン認証 / APIトークンを使ってみよう

例えば、次のリクエストだとAPIトークン認証でリクエストできるかと思います。

 var body = {
"app": "app",
"record": "record",
"comment": {
"text":"text"
}
};
var url = "/k/v1/record/comment";
var xhr = new XMLHttpRequest();
xhr.open("POST", url);
xhr.setRequestHeader("X-Cybozu-API-Token", "API_TOKEN");
xhr.setRequestHeader("Content-Type", "application/json");
xhr.onload = function() {
if (xhr.status === 200) {
// success
console.log(JSON.parse(xhr.responseText));
} else {
// error
console.log(JSON.parse(xhr.responseText));
}
};
xhr.send(JSON.stringify(body));

 

Avatar
鶴見

ご返答ありがとうございます。

トークン認証方法が違ったのですね。

お手数おかけしました。

無事解決しました。

Avatar
やーさん

メンション先のユーザーにゲストユーザーを指定する場合、どのように指定すればよいでしょうか?

ゲストユーザー名「●●」 ログインメールアドレス「●●@●●.com」

どちらを設定しても、「ユーザーが見つかりません」というエラーになります。

Avatar
cybozu Development team

やーさん 様

お世話になっております。cybozu developer network でございます。

メンション先のユーザーにゲストユーザーを指定する場合、
下記のようにcodeを「guest/ログインメールアドレス」に指定する必要があります。

-d '{"app": 168, "record": 20, "comment": {"text": "test","mentions": [{"code": "guest/●●@●●.com","type": "USER"}]}}'

後ほど記事に記載を追加いたします。ご指摘頂きありがとうございました。
よろしくお願いいたします。

ログインしてコメントを残してください。