Quantcast
Channel: 神戸ホームページ制作会社ユニファースの代表ブログ
Viewing all articles
Browse latest Browse all 218

LINE公式へのメッセージ配信で1行目だけ表示させる方法

$
0
0

例えば、LINE公式の、 メッセージ配信>メッセージを作成 から

と配信した時、メッセージを開く前の表示は、下のように、改行が反映されず1行目~3行目が続けて表示されてしまいます。

これを、開く前は1行目だけ表示させる方法を紹介します。

ただ、PHP経由でMessaging API を使う方法なので、プログラミングの知識が無い方にはハードルが高いと思います。これ以外に、1行目のみを表示させる方法となると、多分、Lステップなど外部のツールを使う方法しか無いかもしれません。

LINE Developers への開発者情報の登録&Messaging APIの利用開始

新規でLINE公式アカウントを作成し、そこでMessaging APIを使う場合と、既存のLINE公式アカウントでMessaging APIを使う場合とでは、若干方法が異なります。

詳しくは、こちらのページを参考にしてください。

なお、一旦、既存のLINE公式アカウントを「プロバイダー」に関連付けてしまうと、解除ができない点に注意してください。上記ページにも記載があります。従って、クライアントのLINEアカウントで Messaging API を有効にする場合は、そのクライアントのためだけのプロバイダーを作成する必要があるでしょう。

それ以降の作業

それ以降の作業については、こちらのYouTube動画が詳しいです。

なお動画では、上記の「LINE Developers への開発者情報の登録&Messaging APIの利用開始」が予め完了しているものとして始まります。

右側の「ユニファース公式チャンネル」をクリックすると下の画面になります。動画は、この画面の状態から始まります。

後は、動画の通りに進めれば、LINE公式へメッセージを送れるようになるのですが、使うソースコードはこちらへ掲載のものではなく、下掲のものを使って下さい。

$mes へ入れる変数が、そのままLINE公式へ流されるメッセージとなります。

GO!
<?php

$mes = <<<EOD
1行目

2行目

3行目
EOD;

lineBroadcast($mes);
 
function lineBroadcast($text){
    $channelToken = 'FP3giCtqUhNKbxcFV69t+xkozGlP+XWRdbZYHpjvvsOXHv33bmuVpERv8HdBMZsQbMFcepejiimlrAC+gn4eY3L+tEJ8YD/cutdX0twqDfVfDOfBt/2jOyDtvEwy6SoAMlC0LAYz454TJ2f85PhghQdB04t89/1O/w1cDnyilFU=';
    $headers = [
        'Authorization: Bearer ' . $channelToken,
        'Content-Type: application/json; charset=utf-8',
    ];
 
    $post = [
        'messages' => [
            [
                'type' => 'text',
                'text' => $text,
            ],
        ],
    ];
   
    $url = 'https://api.line.me/v2/bot/message/broadcast';
    $post = json_encode($post);
     
    $ch = curl_init($url);
    $options = [
        CURLOPT_CUSTOMREQUEST => 'POST',
        CURLOPT_HTTPHEADER => $headers,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_BINARYTRANSFER => true,
        CURLOPT_HEADER => true,
        CURLOPT_POSTFIELDS => $post,
    ];
    curl_setopt_array($ch, $options);
 
    $result = curl_exec($ch);
    $errno = curl_errno($ch);
    if ($errno) {
        print_r($errno);
    }else{
        echo 'SUCCESS';
    }
}
?>

なお、 1行目<改行><改行>2行目のようにしないと、メッセージを開く前の表示に、2行目も表示されてしまうので注意が必要です。さっき気が付きましたが、行頭が揃わないのはLINE側の仕様かと思われます。

以上となります。

 


Viewing all articles
Browse latest Browse all 218

Trending Articles