6
4

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 3 years have passed since last update.

MatlabでLINEにメッセージを送る

Last updated at Posted at 2020-11-28

はじめに

最近、MATLABで機械学習もどきを行っている。
そうすると、いつ学習が終わるのかとソワソワしてしまうので、それの予防に重宝する。

できること

メッセージ・画像・スタンプの通知ができる。
なお、ここでのコードではメッセージの送信のみを想定している。

また、こちら(自分のLINEアカウント)からのメッセージには反応しない(APIの制限)。

環境

  • MATLAB R2020a

準備

事前にアクセストークンを発行しておく。
参考: アクセストークンの発行

実装

LINE_Notify.m
function status_code = LINE_Notify(token, msg)
% input->token: YOUR access token for LINE Notify
%        msg: your message

    arguments 
        token (:, :) char = 'YOUR ACCESS TOKEN'
        msg (:, :) string = "test message from MATLAB"
    end

    url = "https://notify-api.line.me/api/notify";
    
    opt = weboptions('HeaderFields', {'Authorization', ['Bearer ', token]});
    response = webwrite(url, 'message', msg, opt);
    status_code = response.status;
end

(申し訳程度の)解説

MATLABにはWEBアプリ操作に、HTTPインターフェースとRESTful Web サービス関数のどちらかを使える。
今回使用したweboptionswebwriteはRESTful Web サービス関数の一種。
なお、HTTPインターフェースのほうが複雑なことができるらしい。

LINE NotifyのAPIを叩くには、認証して貰う必要があるので、opt =以下のヘッダの設定が必要となる。
あとは、URLとメッセージ、optwebwriteの引数にして渡す。
実行できたかの確認に、一応HTTPステータスコードを返している。いらないかもね。

HTTPインターフェースを使ってもできるんだろうけど、
僕がやるとメッセージを渡していても「メッセージが空だよ」とコード400を返されたので諦めた。
誰か、こっちでできた人いたらコメントください。

参考

6
4
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
6
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?