Unity&NCMB php・POSTを用いてオブジェクトの追加

NCMBのRestAPI、オブジェクトの登録ページを下にリンクしておきます。

https://mbaas.nifcloud.com/doc/current/rest/datastore/objectRegistration.html 

上のサイトではcurlコマンドでの方法しか載っていなかったので、phpを使用した場合で書いておきます。

まずは、POSTで送信するための準備をしておきます。

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width">
    <title>用語登録</title>
</head>
<body>
  //"register.php"の部分を任意のものに書き換えておいてください。
    <form action ="register.php" method="post">
    <p>
    title : <input type="text" name="title" value="<?php echo $_POST['title']?>">
    </p>
    <p>
    id : <input type="text" name="id" value="<?php echo $_POST['id']?>">
    </p>
    </form>

</body>

</html>

送信ボタンを押すと下の写真のように用語が追加できたら成功です

コードを。下に写真を張っているので、headerのことろは適切に変更してください。

<!DOCTYPE html>
<html>
<head>

    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width">
    <title>用語登録画面</title>
</head>
<body>
    <h1>送金の準備</h1>
  <p>
    <?php

    $ch = curl_init();
    $id = (string)$_POST['id'];
    $id_K = (string)$_POST['id_K'];
    $title = (string)$_POST['title'];

    $arr = array('hiragana' => $id, 'kanji' => $id_K, 'title' => $title);//配列を用意しておきます。送信時にjson形式に変更します

    curl_setopt($ch, CURLOPT_URL,"");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($arr)); // 送信データ。要した配列をjson形式にエンコードします。
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");

    $headers = array();
    $headers[] = "X-NCMB-Apps-Session-Token: ";
    $headers[] = "X-NCMB-Application-Key: ";
    $headers[] = "X-NCMB-Timestamp: ";
    $headers[] = "X-NCMB-Signature:";
    $headers[] = "Content-Type: application/json";
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

    $result = curl_exec($ch);
    if (curl_errno($ch)) {
        echo 'Error:' . curl_error($ch);
    } else {
    print_r("登録に成功しました。");
    }
    curl_close ($ch);


    ?>
    </p>
 
</body>


</html>

肝心の部分は下の部分です。

$arr = array('hiragana' => $id, 'kanji' => $id_K, 'title' => $title);//配列を用意しておきます。送信時にjson形式に変更します
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($arr)); // 送信データ。要した配列をjson形式にエンコードします。

配列を用意すること、送信時にはjson形式にエンコードすることが必要になってきます。

感想

自分はAPIの使用回数を抑えるためにユーザー入力を”、”でぐぎりunity側で配列操作してデータを扱ってます。課題はいかにユーザー入力を簡易化させるかですね。(笑)。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です