サーバー構築不要!スマートフォンアプリ向けの新クラウド

トップ >ドキュメント >スクリプト(iOS):サンプル集

スクリプト(iOS)

サンプル集

対応ライブラリ一覧

スクリプトのコード中では以下のライブラリを使用することができます。

ライブラリ名 version require 説明
ncmb_js 2.1.3 ncmb ニフティクラウド mobile backendのSDK
bookshelf 0.10.2 bookshelf ORMライブラリ
co 4.6.0 co 非同期処理を記述しやすくするライブラリ
fluent-logger 2.2.0 fluent-logger Fluentdのライブラリ
knex 0.12.6 knex SQLビルダーのライブラリ
lodash 4.16.4 lodash ユーティリティライブラリ
moment 2.15.2 moment 日付型を操作するためのライブラリ
mqtt 1.14.1 mqtt MQTTを利用するためのライブラリ
mysql 2.11.1 mysql MySQLのクライアントライブラリ
pg 6.1.0 pg PostgreSQLのクライアントライブラリ
redis 2.6.2 redis Redisのクライアントライブラリ
socket.io 1.5.1 socket.io Websocketなどを利用するためのライブラリ
superagent 2.3.0 superagent ajaxリクエストを容易に生成するためのライブラリ
underscore 1.8.3 underscore ユーティリティライブラリ
niftycloud-auth 0.1.2 niftycloud-auth ニフティクラウド APIの認証を行うライブラリ

※ 対応ライブラリは随時追加予定です。

ncmb_js ライブラリ

mobile backend の SDK ( JavaScript SDK )を使用し、スクリプトからデータストアやファイルストアなど mobile backend の他の機能を使用することが可能です。SDK を利用するにはスクリプトのコード中で ncmb_js ライブラリを利用します。

GET サンプル

以下は GET メソッドを利用して、データストアの Item クラスからデータを取得し、ランダムに選択されたレコードを返すサンプルです。

module.exports = function(req, res) {
  var NCMB = require('ncmb');
  var ncmb = new NCMB('YOUR_APPLICATION_KEY', 'YOUR_CLIENT_KEY');

  var Item = ncmb.DataStore('Item');
  Item.fetchAll()
      .then(function(items){
        item = items[Math.floor(Math.random() * items.length)];
        res.status(200)
           .json(item);
      })
      .catch(function(error){
        res.status(500)
           .json({error: 500});
      });
}

YOUR_APPLICATION_KEY, YOUR_CLIENT_KEY にはそれぞれアプリケーションキー、クライアントキー( APIキー )の設定が必要です。
※ データストアの Item クラスからデータを取得するため、事前にデータを用意しておく必要があります。


スクリプトアップロード

GET メソッドを利用時のスクリプトアップロード方法については、スクリプト (iOS) : 基本的な使い方 を参照ください。


スクリプトの実行(ダッシュボード)

GET メソッドを利用時のスクリプト実行方法(ダッシュボード)については、スクリプト (iOS) : 基本的な使い方 を参照ください。

GET_execute


スクリプトの実行(アプリ)

GET メソッドを利用時のスクリプト実行方法(アプリ)については、スクリプト (iOS) : 基本的な使い方 を参照ください。


POST サンプル

以下は POST メソッドを利用して、データストアにデータ保存するサンプルです。

function saveData(req, res) {
  // POSTのデータを取得
  var field1 = req.body.field1;
  var field2 = req.body.field2;

  // ヘッダーのデータを取得
  var username = req.get("username");
  var password = req.get("password");

  var NCMB = require('ncmb');
  var ncmb = new NCMB('YOUR_APPLICATION_KEY', 'YOUR_CLIENT_KEY');

  if ( username != "admin" || password != "123456" ) {
    res.status(501);
    res.send("Authentication fail!");
  }

  // データを保存する
  var Item = ncmb.DataStore('Item');
  var item = new Item();
  item.set("field1", field1)
      .set("field2", field2)
      .save()
      .then(function(item){
        // 成功
        res.send("POST data successfully!");
      })
      .catch(function(err){
        // 失敗
        res.send("Error: " + err);
      });
}

module.exports = saveData;

YOUR_APPLICATION_KEY, YOUR_CLIENT_KEY にはそれぞれアプリケーションキー、クライアントキー( APIキー )の設定が必要です。


スクリプトアップロード

スクリプトファイルアップロード時のメソッド設定は POST にします。

POST_upload


スクリプトの実行(ダッシュボード)

実行するスクリプトファイルを選択し、「詳細情報」タブから「実行」タブに切り替えます。 POST する値を Body に設定し「実行」をクリックします。

POST_execute


スクリプトの実行(アプリ)

iOS アプリからスクリプトを呼び出す際は、次のように記述します。

// 呼び出すスクリプトファイルとメソッドを指定
NCMBScript *script = [NCMBScript scriptWithName:@"testScript_POST.js" method:NCMBExecuteWithPostMethod];
// スクリプトの実行
[script execute:@{@"field1":@1, @"field2":@2} headers:@{@"username":@"admin", @"password":@"123456"} queries:nil withBlock:^(NSData *data, NSError *error) {
    if (error) {
        // 実行失敗時の処理
        NSLog(@"error:%@", error.description);
    } else {
        // 実行成功時の処理
        NSLog(@"data:%@", [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]);
    }
}];

DELETE サンプル

以下は DELETE メソッドを利用して、データストアの Item クラスにあるにデータから、指定の objectId に該当するレコードを削除するサンプルです。

function deleteData(req, res) {
    // 削除するIDを取得
    var id = req.query.id;

    var NCMB = require('ncmb');
    var ncmb = new NCMB('YOUR_APPLICATION_KEY', 'YOUR_CLIENT_KEY');

    var Item = ncmb.DataStore('Item');

    Item.equalTo("objectId", id)
        .fetchAll()
        .then(function(results) {
            for (var i = 0; i < results.length; i++) {
                var object = results[i];
                // 該当のデータを削除する
                object.delete()
                    .then(function(result){
                        // 成功
                        res.send("Delete data successfully")
                    })
                    .catch(function(err){
                        // 失敗
                    });
            }
        })
        .catch(function(err){
            // 失敗
        });
}

module.exports = deleteData;

YOUR_APPLICATION_KEY, YOUR_CLIENT_KEY にはそれぞれアプリケーションキー、クライアントキー( APIキー )の設定が必要です。
※ データストアの Item クラスからデータを削除するため、事前にデータを用意しておく必要があります。


スクリプトアップロード

スクリプトファイルアップロード時のメソッド設定は DELETE にします。

DELETE_upload


スクリプトの実行(ダッシュボード)

実行するスクリプトファイルを選択し、「詳細情報」タブから「実行」タブに切り替えます。削除するレコードの objectId を Query に設定し「実行」をクリックします。

DELETE_execute


スクリプトの実行(アプリ)

iOS アプリからスクリプトを呼び出す際は、次のように記述します。

// 呼び出すスクリプトファイルとメソッドを指定
NCMBScript *script = [NCMBScript scriptWithName:@"testScript_DELETE.js" method:NCMBExecuteWithDeleteMethod];
// スクリプトの実行
[script execute:nil headers:nil queries:@{@"id":@"f7bPm2NrBPqkZww6"} withBlock:^(NSData *data, NSError *error) {
    if (error) {
        // 実行失敗時の処理
        NSLog(@"error:%@", error.description);
    } else {
        // 実行成功時の処理
        NSLog(@"data:%@", [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]);
    }
}];

PUT サンプル

PUT メソッドに関しては、POST メソッドと同様に利用可能です。
POST サンプルをご参照ください。

お探しの内容が見つからなかった場合はユーザーコミュニティ もご活用ください。(回答保証はいたしかねます)
なお、 Expertプラン以上のお客様はテクニカルサポートにてご質問を承らせて頂きます。

推奨画面サイズ1024×768px以上

ページの先頭へ