9
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【LINE Messaging API】テキストメッセージで絵文字を指定する方法

Last updated at Posted at 2022-12-08

はじめに

こんにちは!
この記事はミロゴス Advent Calendar 2022 9日目の記事です。

今回は、LINE MessagingAPIでテキストメッセージを送る際の絵文字の指定方法とその際のTipsについて共有できればと思います。

絵文字の指定方法

テキストメッセージ上での絵文字指定方法は以下のパターンがあります。

  1. Unicord絵文字
  2. LINE絵文字
  3. LINE独自のUnicord絵文字 ※2022年3月をもって廃止

それぞれの指定方法について以下で説明します。

Unicord絵文字

Unicord絵文字については、単純に✨のようなUnicord絵文字をJsonのtext内にベタ打ちで指定すればOKです。(Unicord絵文字は端末依存なので端末によってLINEトーク画面上での見え方が変わります。)

例:

[
    {
        "type": "text",
        "text": "こんにちは✨\n元気ですか?\n元気があれば何でもできます😍\n1・2・3・ダーーー✊"
    }
]

image.png
\nはテキストメッセージの改行コードです。

LINE絵文字

LINE絵文字を利用する際は少々厄介です。

LINE絵文字を指定する際はJson内にLINE絵文字オブジェクトの配列であるemojisを指定します。
ただ、このemojis内のindex(テキスト内の絵文字の位置)の値指定がとても間違いやすい……。

その際、以下のTipsを覚えておくとLINE絵文字を使ったJson作成がスムーズになります。

  • indexの値は「絵文字がテキスト内の何文字目に来るのか」の値ではなく、「絵文字の前にテキストが何文字あるか」の値(= テキストの1文字目に絵文字が来る場合はindex0)である。
  • 改行コード\nは1文字としてカウントされる。
  • indexを指定しようとしている絵文字より前に異なる絵文字が指定されている場合は、前の絵文字($)も1文字としてカウントされる。

例:

[
	{
		"type": "text",
		"text": "こんにちは$\n元気ですか?\n元気があれば何でもできます$\n1・2・3・ダーーー$",
		"emojis": [
			{
				"index": 5,
				"productId": "5ac21a18040ab15980c9b43e",
				"emojiId": "028"
			},
			{
				"index": 27,
				"productId": "5ac22a8c031a6752fb806d66",
				"emojiId": "009"
			},
			{
				"index": 39,
				"productId": "5ac21e6c040ab15980c9b444",
				"emojiId": "023"
			}
		]
	}
]

image.png
※送信可能なLINE絵文字リスト

最後に

ご覧いただきありがとうございました!
少々ニッチな内容でしたが、少しでも多くの方のお役に立てれば幸いです。

9
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?