”&”や”<”が投入できない
投稿内容は全体に公開されます。
アカウント名やドメイン名、 ConsumerKey などの非公開情報は記入しないでください。
LINE WORKSからトークBotに送信する文字のうち、”&”や”<”が含まれるメッセージ
を送信すると、Botに到達する前に処理されてしまい、返答が返ってこない事象が
発生します。
LINEの”
違った暗号処理結果が出力されてしまっているのではないかと見受けられます。
解消できますでしょうか。また、他にも同様な文字列があれば、合わせて解消したいです。
投稿に新しいコメントが追加されましたら通知を送信します。
コメント15
업데이트 된 답글입니다.
LINE WORKS 公式アカウント
今一度、受信したメッセージをご確認いただけないでしょうか。
例) 送信メッセージ「^><^&&!"&"<」 の場合
{
"type":"message",
"source":{
"accountId":"xxx"
},
"createdTime":xxxxxx,
"content":{
"type":"text",
"text":"^ \u003e\u003c ^ \u0026\u0026 ! ” \u0026 ” \u003c"
}
}
2018.02.23
업데이트 된 답글입니다.
山口護夫 投稿者
X-WORKS-Signatureのヘッダー情報が、Botで受信した際に一致しないため、
改ざんされているかのように判定してしまっている状態です。
これらの文字以外は、基本的には正常に稼働しています。
2018.02.23
업데이트 된 답글입니다.
LINE WORKS 公式アカウント
お手数ですが、大まかなメッセージ送信時間と送信した bot no. をお教えいただけますでしょうか。
2018.02.28
업데이트 된 답글입니다.
山口護夫 投稿者
2018/2/28 10:43
Bot No.2089
-------
先ほど別々に、「&」「<」「aaaaaa」と3回送信し、
「aaaaaa」だけ返信が返ってきました。
2018.02.28
업데이트 된 답글입니다.
LINE WORKS 公式アカウント
署名検証エラーとなっている場合、検証ロジックに誤りがあるかと思われますので、今一度ご確認お願いできますでしょうか。
■「&」を送付いただいた際のログ情報
[2018-02-28 10:43:**.******] X-WORKS-Signature:MMEbr5JPryeJ14aIagfED/Kv0FVowB2NxEC0/sw+SEI= Request:"{\"type\":\"message\",\"source\":{\"accountId\":\"y********.****o@*********-***\"},\"createdTime\":*5****2*****4,\"content\":{\"type\":\"text\",\"text\":\"\\u0026\"}}"
2018.03.01
업데이트 된 답글입니다.
LINE WORKS 公式アカウント
[2018-02-28 10:43:**.******] X-WORKS-Signature:C+syIRlQARJdjLtettpt2EstFweaLJzCmZLhouOpqu8= X-WORKS-BotNo:2089 Request:"{\"type\":\"message\",\"source\":{\"accountId\":\"y********.****o@*********-***\"},\"createdTime\":*5****2*****2,\"content\":{\"type\":\"text\",\"text\":\"\\u003c\"}}"
■「aaaaaa」を送付いただいた際のログ情報
[2018-02-28 10:43:**.******] X-WORKS-Signature:TbrjdYdA1BvLiu+rs6t302fHGblK9QieiTJBX1Ppf9k= X-WORKS-BotNo:2089 Request:"{\"type\":\"message\",\"source\":{\"accountId\":\"y********.****o@*********-***\"},\"createdTime\":*5****2*****8,\"content\":{\"type\":\"text\",\"text\":\"aaaaaa\"}}"
2018.03.01
업데이트 된 답글입니다.
山口護夫 投稿者
&など一部の文字が、Unicodeエスケープシーケンスされていることが誤動作を起こしている原因でした。
どの文字がUnicodeエスケープシーケンスされているのかがこちらでは判別できないので、
まず、Unicodeエスケープシーケンスをしないようにしていただくことは可能でしょうか。
それが難しいようであれば、Unicodeエスケープシーケンスを実施している文字のリストを
ドキュメント上に記載していただけないでしょうか?
また、Unicodeエスケープシーケンスを行っている対象文字が変更されるような仕様変更が今後仮にあった場合
こちらでは対応しきれないので、jsonエンコーダーおよびデコーダーのAPIをご提供いただけないでしょうか。
2018.03.01
업데이트 된 답글입니다.
LINE WORKS 公式アカウント
JSONの仕様としてUnicodeエスケープが可能となっております。RFC 7159を参照ください:https://tools.ietf.org/html/rfc7159.html#section-7。
そのため、弊社からエンコーダー/デコーダーの提供予定はございません。ご了承ください。
JSON仕様に対応されているソースコードあるいはライブラリのご利用をお願いできますでしょうか。
2018.03.01
업데이트 된 답글입니다.
山口護夫__457632
このドキュメント内でどのあたりに、エスケープ対象の文字が分かる記載がありますでしょうか。
どの文字がその対象かを知りたいため、ご教示いただけますか。
2018.03.14
업데이트 된 답글입니다.
LINE WORKS 公式アカウント
https://tools.ietf.org/html/rfc7159.html#section-7
2018.03.14
업데이트 된 답글입니다.
山口護夫__457632
提示いただいた箇所を読んでみたのですが、
エスケープしなければならない文字は(U+0000からU+001F)で、
それ以外は任意と書かれています。
今回、問題になっている文字は以下の通りで、
- & => U+0026
- < => U+003C
これらの文字のエスケープは任意と読み取れますが、
この認識は間違っておりますでしょうか。
2018.04.16
업데이트 된 답글입니다.
山口護夫__457632
任意のうちのどれがLINE WORKS内ではエスケープ必須になってるかをすべて教えてください。
2018.04.24
업데이트 된 답글입니다.
山口護夫__457632
よろしくお願いいたします。
2018.05.25
업데이트 된 답글입니다.
山口護夫__457632
こちらの質問は「『&』など、RFCではエスケープ任意扱いになっている文字列が、LINE WORKS内でエスケープ必須になっているようなので、LINE WORKSにおいてどの文字がエスケープ必須文字なのかを教えてください」です。
2018.06.21
업데이트 된 답글입니다.
LINE WORKS 公式アカウント
任意の各文字につきましてもエスケープ処理を行うようお願いできますでしょうか。
2018.06.22
まだ、解決できませんか?
今すぐ実際に使用しているLINE WORKSユーザーに質問してみましょう。