ニフクラmBaaSお役立ちブログ

スマホアプリ開発にニフクラmBaaS。アプリ開発に役立つ情報をおとどけ!

Excel用NCMBライブラリでログインに対応しました

f:id:mbaasdevrel:20180126213838p:plain

オフィスでは最もよく使われるアプリケーションであろうExcelでもニフクラ mobile backendが使えるように、マクロで動作するExcel用NCMBを開発しています。今回、新しい機能としてログインに対応しました。

サンプルコード

以下はコード例です。TestExcelというデータクラスにはデータが登録されていますが、一部はExcelUser向けとなっています。そして最初にfetchAllでデータを取得した件数と、ログイン後に取得するデータ件数が異なるのが確認できます。

Dim ApplicationKey As String
Dim ClientKey As String

ApplicationKey = "YOUR_APPLICATION_KEY"
ClientKey = "YOUR_CLIENT_KEY"

Dim ncmb As clsNCMB
Set ncmb = New clsNCMB

ncmb.ApplicationKey = ApplicationKey
ncmb.ClientKey = ClientKey

Dim dataClass As clsDataStore
Set dataClass = ncmb.dataStore("TestExcel")
Dim dataItems() As clsDataItem
dataItems = dataClass.fetchAll()
Debug.Print UBound(dataItems)

Dim result As clsDataItem
Set result = ncmb.User.login("ExcelUser", "ExcelUser")

dataItems = dataClass.fetchAll()
Debug.Print UBound(dataItems)

使い方

ログインは ncmb.User.login メソッドでできます。データはuserクラスを定義した clsDataItem として返ってきます。一つ目の引数がユーザID、二つ目がパスワードになります。

Dim result As clsDataItem
Set result = ncmb.User.login("ExcelUser", "ExcelUser")

ログインすると自動的にセッショントークンがヘッダーに追加されるようになります。ログイン後は特に意識することなくデータの検索が行えます。

現状、データを登録する際のACLには対応していませんが、認証できるようになったので今後機能を追加していきます。

まとめ

Excel用NCMBライブラリはgoofmint/ncmb-excel: NCMBのExcel用クラスモジュールです。にて開発を行っています。利用の際にはvbacGUIを使ってコードを連結すると使いやすいはずです。

中津川 篤司

中津川 篤司

NCMBエヴァンジェリスト。プログラマ、エンジニアとしていくつかの企業で働き、28歳のときに独立。 2004年、まだ情報が少なかったオープンソースソフトの技術ブログ「MOONGIFT」を開設し、毎日情報を発信している。2013年に法人化、ビジネスとエンジニアを結ぶDXエージェンシー「DevRel」活動をスタート。