SharePoint のデータをモバイル開発のUnifinity で利用する方法

杉本和也
杉本和也
リードエンジニア
クロスプラットフォームモバイルアプリ開発ができるUnifinity から SharePoint のデータに接続する方法



Unifinity は、iOS / Android / Windows のマルチOS 向けのモバイルアプリ開発が可能なプラットフォームです。Unifinity Studio という専用のツールで、UIをベースにアプリ画面をデザインしたり、DB・APIなどと連動した処理・ロジックを作成することができます。Unifinity では、REST API への接続ができるため、CData の製品を組み合わせることで対応データソースを増やすことができます。この記事では CData API Server と ADO.NET Provider for SharePoint を使って、Unifinity でSharePoint にデータ連携するモバイルアプリを開発する方法を説明します。
Unifinity モバイルアプリからSharePoint にデータ連携。

SharePoint データ連携について

CData を使用すれば、SharePoint のライブデータへのアクセスと統合がこれまでになく簡単になります。お客様は CData の接続機能を以下の目的で利用しています:

  • Windows SharePoint Services 3.0、Microsoft Office SharePoint Server 2007 以降、SharePoint Online を含む、幅広い SharePoint バージョンのデータにアクセスできます。
  • 非表示カラムとルックアップカラムのサポートにより、SharePoint のすべてにアクセスできます。
  • フォルダを再帰的にスキャンして、すべての SharePoint データのリレーショナルモデルを作成できます。
  • SQL ストアドプロシージャを使用して、ドキュメントや添付ファイルをアップロード・ダウンロードできます。

多くのお客様は、SharePoint データをデータベースやデータウェアハウスに統合するために CData ソリューションを活用していますが、Power BI、Tableau、Excel などのお気に入りのデータツールと SharePoint データを統合しているお客様もいます。

お客様が CData の SharePoint ソリューションで問題を解決している方法については、ブログをご覧ください:Drivers in Focus: Collaboration Tools


はじめに


API Server の設定

以下のリンクからAPI Server の無償トライアルをスタートしたら、セキュアなSharePoint OData サービスを作成していきましょう。

SharePoint への接続

Unifinity からSharePoint のデータを操作するには、まずSharePoint への接続を作成・設定します。

  1. API Server にログインして、「Connections」をクリック、さらに「接続を追加」をクリックします。 接続を追加
  2. 「接続を追加」をクリックして、データソースがAPI Server に事前にインストールされている場合は、一覧から「SharePoint」を選択します。
  3. 事前にインストールされていない場合は、コネクタを追加していきます。コネクタ追加の手順は以下の記事にまとめてありますので、ご確認ください。
    CData コネクタの追加方法はこちら >>
  4. それでは、SharePoint への接続設定を行っていきましょう! 接続設定
  5. Microsoft SharePoint への接続

    URL の設定:

    Microsoft SharePoint では、2つの範囲でデータを操作できます。グローバルなMicrosoft SharePoint サイト全体を対象にするか、個々のサイトのみを対象にするかを選択できます。

    グローバルなMicrosoft SharePoint サイトですべてのリストおよびドキュメントを操作したい場合は、URL 接続プロパティをサイトコレクションURL に設定しましょう。以下のような形式です。

    https://teams.contoso.com

    個々のサイトのリストおよびドキュメントのみを扱いたい場合は、URL 接続プロパティを個々のサイトURL に設定してください。以下のような形式です。

    https://teams.contoso.com/TeamA

    続いて、お使いの環境に適した認証プロパティを設定していきましょう。詳細な設定手順については、 href="/kb/help/" target="_blank">ヘルプドキュメントの「はじめに」をご参照ください。

    Microsoft SharePoint Online

    SharePointEdition を"SharePoint Online" に設定し、User およびPassword にはSharePoint へのログオンで使用するクレデンシャル(例:Microsoft Online Services アカウントのクレデンシャル)を設定します。

    Microsoft SharePoint Online は様々なクラウドベースアーキテクチャをサポートしており、それぞれ異なる認証スキームが利用できます。

    • Microsoft Entra ID(Azure AD)
    • ADFS、Okta、OneLogin、またはPingFederate SSO ID プロバイダーを介したシングルサインオン(SSO)
    • Azure MSI
    • Azure パスワード
    • OAuthJWT
    • SharePointOAuth

    Microsoft SharePoint オンプレミス

    Microsoft SharePoint オンプレミスでは、多くのオンプレミス環境に対応した認証方式をサポートしています。

    • Windows(NTLM)
    • Kerberos
    • ADFS
    • 匿名アクセス

    まずSharePointEdition を"SharePoint On-Premises" に設定しましょう。

    Windows(NTLM)認証

    これは最も一般的な認証方式です。そのため、CData 製品ではNTLM をデフォルトとして使用するよう事前設定されています。Windows のUser およびPassword を設定するだけで接続できます。

  6. 接続情報の入力が完了したら、「保存およびテスト」をクリックします。

Microsoft SharePoint への接続

URL の設定:

Microsoft SharePoint では、2つの範囲でデータを操作できます。グローバルなMicrosoft SharePoint サイト全体を対象にするか、個々のサイトのみを対象にするかを選択できます。

グローバルなMicrosoft SharePoint サイトですべてのリストおよびドキュメントを操作したい場合は、URL 接続プロパティをサイトコレクションURL に設定しましょう。以下のような形式です。

https://teams.contoso.com

個々のサイトのリストおよびドキュメントのみを扱いたい場合は、URL 接続プロパティを個々のサイトURL に設定してください。以下のような形式です。

https://teams.contoso.com/TeamA

続いて、お使いの環境に適した認証プロパティを設定していきましょう。詳細な設定手順については、 href="/kb/help/" target="_blank">ヘルプドキュメントの「はじめに」をご参照ください。

Microsoft SharePoint Online

SharePointEdition を"SharePoint Online" に設定し、User およびPassword にはSharePoint へのログオンで使用するクレデンシャル(例:Microsoft Online Services アカウントのクレデンシャル)を設定します。

Microsoft SharePoint Online は様々なクラウドベースアーキテクチャをサポートしており、それぞれ異なる認証スキームが利用できます。

  • Microsoft Entra ID(Azure AD)
  • ADFS、Okta、OneLogin、またはPingFederate SSO ID プロバイダーを介したシングルサインオン(SSO)
  • Azure MSI
  • Azure パスワード
  • OAuthJWT
  • SharePointOAuth

Microsoft SharePoint オンプレミス

Microsoft SharePoint オンプレミスでは、多くのオンプレミス環境に対応した認証方式をサポートしています。

  • Windows(NTLM)
  • Kerberos
  • ADFS
  • 匿名アクセス

まずSharePointEdition を"SharePoint On-Premises" に設定しましょう。

Windows(NTLM)認証

これは最も一般的な認証方式です。そのため、CData 製品ではNTLM をデフォルトとして使用するよう事前設定されています。Windows のUser およびPassword を設定するだけで接続できます。

API Server のユーザー設定

次に、API Server 経由でSharePoint にアクセスするユーザーを作成します。「Users」ページでユーザーを追加・設定できます。やってみましょう。

  1. 「Users」ページで ユーザーを追加をクリックすると、「ユーザーを追加」ポップアップが開きます。
  2. 次に、「ロール」、「ユーザー名」、「権限」プロパティを設定し、「ユーザーを追加」をクリックします。
  3. その後、ユーザーの認証トークンが生成されます。各ユーザーの認証トークンとその他の情報は「Users」ページで確認できます。

SharePoint 用のAPI エンドポイントの作成

ユーザーを作成したら、SharePoint のデータ用のAPI エンドポイントを作成していきます。

  1. まず、「API」ページに移動し、 「 テーブルを追加」をクリックします。
  2. アクセスしたい接続を選択し、次へをクリックします。
  3. 接続を選択した状態で、各テーブルを選択して確認をクリックすることでエンドポイントを作成します。

OData のエンドポイントを取得

以上でSharePoint への接続を設定してユーザーを作成し、API Server でSharePoint データのAPI を追加しました。これで、OData 形式のSharePoint データをREST API で利用できます。API Server の「API」ページから、API のエンドポイントを表示およびコピーできます。

オンプレミスDB やファイルからのAPI Server 使用(オプション)

オンプレミスRDB やExcel/CSV などのファイルのデータを使用する場合には、API Server のCloug Gateway / SSH ポートフォワーディングが便利です。是非、Cloud Gatway の設定方法 記事を参考にしてください。

Unifinity でSharePoint のREST サービスに接続

Unifinity プロジェクトの作成

Unifinity から APIServer への接続設定をしていきます。

  1. Unifinity Studioを立ち上げてます。
  2. 新しくプロジェクトを作成します。今回は「inquiriesProject」としました。
  3. 次に画面を作る前に、データを格納するためのDBを作ってしまいます。 DBタブを選んで、「+」ボタンでDBを追加します。名前は「inquiries」です。
  4. Unifinity
  5. 画面を作成します。一覧画面に表示している「表」は先程作成したDBの「inquiries」と紐付けています。
  6. Unifinity
  7. 画面本体のオープン時の処理として後ほど解説するデータ取得ロジックを指定しています。これによって、表にデータが表示されるようになります。
  8. Unifinity
  9. アプリの要となるロジック部分を構成します。
  10. 一覧画面を表示するための「データ取得ロジック」を作成します。登録・更新のロジック作成も可能です。
  11. データ取得ロジックは以下のような処理で構成されています。Cdata API Serverにリクエストを送り、そのデータをデータベースに書き込むことで一覧表示を実現しています。
  12. Unifinity
  13. API Serverへのリクエストには、ヘッダーで認証情報を指定する必要があります。そのため、ディクショナリー作成コンポーネントを使って、ContentTypeとともに、「x-cdata-authtoken」というプロパティで先程API Serverのユーザー作成画面で構成したToken情報を設定するようにします。
  14. Unifinity
  15. HTTPリクエストには「ネットワーク/GET2」のコンポーネントを使用し、URIにAPI Serverのinquiriesリソースエンドポイント「例:http://localhost:8387/api.rsc/sakila_inquiries」を指定し、ヘッダーオプションに先程作成したディクショナリを指定します。
  16. Unifinity
  17. あとはJSON構造をディクショナリに格納し、配列構造を持っている「value」の部分を読み込んだ上で、データベースに書き込みます。
  18. Unifinity Unifinity
  19. データベースに書き込む際には、予めデータクリアーをするように指定しておきます。
  20. Unifinity

    このように SharePoint 内のデータを簡単にUnifinity で作成するモバイルアプリで使用することができるようになります。

    CData API Server の無償版およびトライアル

    CData API Server は、無償版および30日の無償トライアルがあります。是非、API Server ページ から製品をダウンロードしてお試しください。

はじめる準備はできましたか?

詳細はこちら、または無料トライアルにお申し込みください:

CData API Server お問い合わせ