オフィスでは最もよく使われるアプリケーションであろう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を使ってコードを連結すると使いやすいはずです。