APP LINKのメッセージで「?」「&」が使えない。 - メール - LINE WORKS Developers : コミュニティ

APP LINKのメッセージで「?」「&」が使えない。

村上SP

2021.06.14既読 1159

APP LINKのメッセージで「?」「&」といった文字が使用できません。
具体的には下記の赤字のような文字を含むURLを作成すると正しく動作しません。
下記例では「ABC?DEF」というメッセージを相手に送信したい。
「?」「&」といった文字を上記URLのメッセージに入れたい場合はどうすればよろしいでしょうか?


コメント8

  • 업데이트 된 답글입니다.

    こんにちは。
    特殊文字をエンコードする必要があります。
    以下のURLで試してみてくださいね。
    https://line.worksmobile.com/message/send?version=18&message=A%3FB%26C&emailList=sample@accountId

    2021.06.14

    0
  • 업데이트 된 답글입니다.

    村上SP 投稿者

    からくり様

    早速のコメントありがとうございます!試してみたところできました!感謝です!!

    2021.06.14

    0
  • 업데이트 된 답글입니다.

    LINE WORKS 公式アカウント

    既にご回答いただいておりますが、”?” などの特殊記号は URL には使用できません。
    使用するには URL Encode を行う必要があります。
    URL Endode 例)
    ? → %EF%BC%9F
    & → %EF%BC%86

    2021.06.14

    0
  • 업데이트 된 답글입니다.

    村上SP 投稿者

    LINE WORKS様

    コメントありがとうございます。特殊文字も全角・半角でエンコードが変わるのですね。ありがとうございます!

    2021.06.14

    0
  • 업데이트 된 답글입니다.

    村上SP 投稿者

    重ねて特殊文字エンコードで困ったことがあります。置き換えたい文字は「&」で、下記のように置き換えました。
    (エンコード前)serchfile&param → (エンコード後)serchfile%26param
    ところがデコードされた文字列が serchfile¶m と出力されました。
    少し調べたところURLエンコードの「%26para」の部分がPHPでは「¶」となるらしく、ここで行き詰まってしまいました。
    何か解決策はありますでしょうか?

    2021.06.14

    0
  • 업데이트 된 답글입니다.

    LINE WORKS 公式アカウント

    以下の PHP コードで decode してみたところ、正常に decode することができました。
    <?php
    $str = "serchfile&param";
    // URLエンコード
    $str = urlencode( $str );
    echo $str ."\n";
    // URLデコード
    $str = urldecode( $str );
    echo $str ."\n";
    ?>
    (実行結果)
    serchfile%26param
    serchfile&param

    ご参考ください。

    2021.06.14

    0
  • 업데이트 된 답글입니다.

    村上SP 投稿者

    LINE WORKS様

    コメントありがとうございます。やはり下記URLをグーグルクロームから実行すると「serchfile¶m」とメッセージ作成されてしまいます。
    https://line.worksmobile.com/message/send?version=18&message=serchfile%26param&emailList=sample@accountId

    2021.06.14

    0
  • 업데이트 된 답글입니다.

    村上SP 投稿者

    最終的に下記URLを組み立てることで「serchfile&param」をLINEでメッセージ作成することができました。
    https://line.worksmobile.com/message/send?version=18&message=serchfile%26ampparam&emailList=sample@accountId

    【以下、自分の備忘録として残しておきます】
    当初のメッセージ「serchfile%26param」をメッセージに入れて実行すると
    「serchfile&param」 といったんは変換されるが 「&para」部分が「¶」を表す文字参照ために最終的に「serchfile¶m」とメッセージ作成される(参照)
    そこで当初のメッセージ「serchfile%26param」の%26の後ろにampを追加する。
    「serchfile%26ampparam」となり、%26は「&」を表し、直後の「amp」とともに「&amp」と表現され、これは「&」を表す文字参照となる(参照)
    「&」を「&」に変換し直すということ?で解決したようですが、これが正しい対応だったかは分かりません。。

    参照:https://ja.wikipedia.org/wiki/%E6%AE%B5%E8%90%BD%E8%A8%98%E5%8F%B7
    参照:https://ja.wikipedia.org/wiki/%E3%82%A2%E3%83%B3%E3%83%91%E3%82%B5%E3%83%B3%E3%83%89

    2021.06.14

    0
前の投稿 botでメッセージ送信するpythonプログラム作成方法
次の投稿リクエスト検証について