Unity から LINE Notify にシンプルにメッセージを送るメモ
Unity から LINE Notify にシンプルにメッセージを送るメモです。
LINE Notify のトークンを取得

LINE Notify ページ にアクセスして トークンを取得しておきます。
Unity で Cube を準備
Unity で以下のように Cube を準備します。ほか EventSystem やカメラに Physics Raycaster を仕込んでいる状態で、クリックすれば動作する状態です。

プログラム
Cube に以下のように CubeEvent.cs を割り当てます。UnityWebRequest が標準は multipart/form-data でやり取りできるので、LINE Notify に素直に遅れます。特に苦労なく実装することができました。
using UnityEngine;
using UnityEngine.EventSystems;
using System.Collections; // IEnumerator のための参照
using UnityEngine.Networking; // UnityWebRequest のための参照
using System.Collections.Generic; // Listのため
public class CubeEvent : MonoBehaviour, IPointerClickHandler
{
// LINE Notify のトークン
string tokenLINENotify = "token";
void Start()
{
}
public void OnPointerClick(PointerEventData eventData)
{
// HTTP リクエストを非同期処理を待つためコルーチンとして呼び出す
// 第 2 引数で送りたい文言を入れる
StartCoroutine("PostLINENofify", "Unityからテスト");
}
IEnumerator PostLINENofify(string message)
{
// IMultipartFormSection で multipart/form-data のデータとして送れます
// https://docs.unity3d.com/ja/2018.4/Manual/UnityWebRequest-SendingForm.html
// https://docs.unity3d.com/ja/2019.4/ScriptReference/Networking.IMultipartFormSection.html
// https://docs.unity3d.com/ja/2020.3/ScriptReference/Networking.MultipartFormDataSection.html
List<IMultipartFormSection> formData = new List<IMultipartFormSection>();
formData.Add(new MultipartFormDataSection("message", message));
// HTTP リクエストする(POST メソッド) UnityWebRequest を呼び出し
// アクセスする先は変数 urlGitHub で設定
// 第 2 引数で上記のフォームデータを割り当てて multipart/form-data のデータとして送ります
UnityWebRequest request = UnityWebRequest.Post("https://notify-api.line.me/api/notify", formData);
// LINE Notify の認証は Authorization ヘッダーで Bearer のあとに API トークンを入れる
request.SetRequestHeader("Authorization", $"Bearer {tokenLINENotify}");
// ダウンロード(サーバ→Unity)のハンドラを作成
request.downloadHandler = new DownloadHandlerBuffer();
// リクエスト開始
yield return request.SendWebRequest();
// 結果によって分岐
switch (request.result)
{
case UnityWebRequest.Result.InProgress:
Debug.Log("リクエスト中");
break;
case UnityWebRequest.Result.Success:
Debug.Log("リクエスト成功");
// コンソールに表示
Debug.Log($"responseData: {request.downloadHandler.text}");
break;
}
}
void Update()
{
}
}
こちらを保存します。
// LINE Notify のトークン
string tokenLINENotify = "token";
こちらを今回取得した LINE Notify のトークンに token 部分を書き換えます。
動かしてみる
ここまで設定出来たら、Cube をクリックして動かしてみます。

クリックするとリクエスト成功が返ってきます。

そして LINE Notify にメッセージが届きます!