Microsoft SharePoint コネクタ

Select

Microsoft SharePoint コネクタは、クラウドとオンプレミスで使用される SharePoint 2013 と SharePoint Online の両方をサポートします。このコネクタにより、コンテンツとドキュメントの管理、イントラネットとエクストラネットのポータルや Web サイトへのアクセス、コラボレーション、およびエンタープライズ検索が可能になります。また、REST API による SharePoint との統合も実現します。

前提条件

このドキュメントは、読者が SharePoint、Mule、Anypoint コネクタ、Anypoint Studio、Mule の概念、Mule フローの要素、グローバル要素に精通していることを前提としています。

対象リソースへの接続をテストするには、ログイン情報が必要です。

ハードウェアとソフトウェアの要件および互換性に関する情報は、「コネクタリリースノート」を参照してください。

Maven でこのコネクタを使用するには、Anypoint Exchange の [Dependency Snippets (連動関係スニペット)] で pom.xml の連動関係情報を確認してください。

このコネクタの新機能

Mule 4 SharePoint Online とオンプレミス版 SharePoint 用のコネクタは、両方の旧コネクタのすべての機能を含む 1 つのコネクタに統合されました。

Design Center での接続方法

  1. トリガをクリックします。トリガ時にこのコネクタを選択することで、グローバル要素を作成できます。 グローバル要素が不要な場合は、HTTP リスナまたはスケジューラトリガを使用できます。

  2. このコネクタのグローバル要素 (省略可能) を作成するには、次の項目を設定します。

    コネクタのグローバル要素
  3. 必須パラメータのオンライン設定を行います。

  4. Okta 認証を設定します。

  5. プラス記号を選択して、コンポーネントを追加します。

  6. コンポーネントとしてコネクタを選択します。

必須パラメータのオンライン設定

オンライン設定
  • Username (ユーザ名): SharePoint のユーザ名を入力します。

  • Password (パスワード): 対応するパスワードを入力します。

  • Site URL (サイト URL): 対応するサイトの URL を入力します。

Okta 認証

Okta 認証の設定

Okta 認証を使用するようにコネクタを設定するためには、次の情報が必要です。

  • Okta Domain (Okta ドメイン): 認証用の Okta ユーザ名とパスワードを受け入れる Okta エンドポイント。例: your-domain.okta.com

  • Okta Username (Okta ユーザ名): Okta のユーザ名。例: your-email@example.com

  • Okta Password (Okta パスワード): Okta のパスワード。例:

  • Okta API Token (Okta API トークン): Okta は、API 認証にスライドスケール有効期限付きのベアラトークンを使用します。例: http://developer.okta.com/docs/api/getting_started/getting_a_token.html

  • SharePoint Online Embedded Link (SharePoint Online の埋め込みリンク): Okta から Microsoft Office 365 SharePoint Online アプリケーションへのリンク。例: https://your-domain.okta.com/home/office365/0oa14mz7f4HAWypdZ1t7/31737

コネクタの用語について

  • アクション - データの変更など副次的な影響を可能にする操作。非確定的な動作を回避するためにさらなる構成はできません。

  • 複合型 - 一連のプロパティからなるキーのない名前付き構造化型。複合型は一般に、モデルエンティティのプロパティ値、あるいは操作のパラメータや戻り値として使用されます。

  • エンティティ - エンティティ種別 (account、opportunity など) のインスタンス。

  • エンティティセット - エンティティの名前付きコレクション (たとえば、account は account エンティティを含むエンティティセットです)。エンティティのキーでエンティティセット内のエンティティを一意に識別します

  • エンティティ種別 - キーのある名前付き構造化型。エンティティ種別は、エンティティの名前付きプロパティとリレーションを定義し、1 つの継承によって他のエンティティ種別から派生させることができます。

  • 列挙型または Enum 型 - 基本的な整数値を名前付き定数とする名前付きプリミティブ型。

  • 関数 - 副作用を発生させず、他の検索条件操作、関数、またはアクションなどと組み合わせて使用できる操作。

Anypoint Studio 7 での接続

このコネクタを Anypoint Studio で使用するには、まず Exchange からダウンロードして必要に応じて設定します。

Studio でコネクタをインストールする

  1. Anypoint Studio で、Studio タスクバーの Exchange アイコンをクリックします。

  2. Anypoint Exchange で [Login (ログイン)] をクリックします。

  3. このコネクタを検索して [Install (インストール)] をクリックします。

  4. 画面の指示に従ってこのコネクタをインストールします。

Studio の更新がある場合、右下隅にメッセージが表示されます。メッセージをクリックすると、更新をインストールできます。

最初のフローの設定方法

設定方法:

  1. Anypoint Studio で、[File (ファイル)] > [New (新規)] > [Mule Project (Mule プロジェクト)] をクリックします。

  2. プロジェクト名を指定して、[Finish (完了)] をクリックします。

  3. [Global Elements (グローバル要素)] タブをクリックします。

  4. [Create (作成)] をクリックします。

  5. 「sharepoint」を検索します。

  6. [Microsoft SharePoint] をクリックして [OK] をクリックします。

  7. 設定するグローバル種別を選択します。

    グローバル種別
  8. [Test Connection (接続をテスト)] をクリックして、正しく接続されることを確認します。

    [Global Element Properties (グローバル要素のプロパティ)]

Anypoint Studio フローの作成方法

Anypoint Studio フローを作成する手順は、次のとおりです。

  1. Anypoint Studio で、[File (ファイル)] > [New (新規)] > [Mule Project (Mule プロジェクト)] をクリックします。

  2. プロジェクト名を指定して、[Finish (完了)] をクリックします。

  3. http を検索して、HTTP コネクタをキャンバスにドラッグします。

  4. sharepoint を検索して、Microsoft SharePoint コネクタを HTTP コネクタの隣にドラッグします。

    Studio Visual Editor フロー
  5. HTTP コネクタをダブルクリックして、[Host (ホスト)] を 0.0.0.0、[Port (ポート)] を 8081、[Path (パス)] を fileAdd に設定します。[OK] をクリックします。

  6. Microsoft SharePoint コネクタをダブルクリックして、緑色のプラス記号をクリックします。

  7. [Connector Configuration (コネクタ設定)] リストで、以前に作成した Microsoft SharePoint の設定をクリックします。

  8. [Operation (操作)] リストで [File Add] をクリックします。

    次の項目を設定します。

    Studio ビジュアルエディタの項目
    • File server relative URL (ファイルサーバの相対 URL): ファイルを作成する SharePoint のパスとファイル名。

    • File content stream (ファイル内容ストリーム): 作成するファイルの内容

フローの実行方法

  1. Package Explorer で、プロジェクトの名前を右クリックし、[Run As (別のユーザとして実行)] > [Mule Application (Mule アプリケーション)] をクリックします。

  2. アプリケーションの起動時にコンソールを確認します。エラーが発生していない場合、次のようなメッセージが表示されます。

    ************************************************************
    INFO  2018-01-14 22:12:42,003 [main] org.mule.module.launcher.DeploymentDirectoryWatcher:
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    + Mule is up and kicking (every 5000ms)                    +
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    INFO  2018-01-14 22:12:42,006 [main] org.mule.module.launcher.StartupSummaryDeploymentListener:
    **********************************************************
    *  - - + DOMAIN + - -               * - - + STATUS + - - *
    **********************************************************
    * default                           * DEPLOYED           *
    **********************************************************
    
    ************************************************************************
    * - - + APPLICATION + - -   * - - + DOMAIN + - -  * - - + STATUS + - - *
    ************************************************************************
    * myapp                     * default             * DEPLOYED           *
    ************************************************************************

例: SharePoint コネクタ

この例では、Microsoft SharePoint コネクタの使い方を示します。

このデモプロジェクトを構築して実行するには、以下が必要です。

  • Mule 4.0 Runtime 以上を備えた Anypoint Studio

  • Microsoft SharePoint コネクタ v2.0.0 以上。

フローのテスト方法

  1. Anypoint Exchange を使用するか、[File (ファイル)] メニューの [Import] コマンドを使用して、デモプロジェクトをワークスペースにインポートします。

  2. ログイン情報を /src/main/app/mule-app.properties ファイルに指定します。

  3. Studio でプロジェクトを実行します。

  4. ブラウザで localhost:8081/demo と入力し、デモの選択メニューにアクセスします。

  5. 必要に応じて、[Connection Timeout (接続タイムアウト)] と [Read Timeout (読み取りタイムアウト)] を設定できます。 [Connection Timeout (接続タイムアウト)] は、サーバに初めて接続するときのタイムアウトです。 [Read Timeout (読み取りタイムアウト)] は、サーバからのデータの読み取りを待機するときのタイムアウトです。

http://localhost:8081 の選択メニューからフローをテストできます。また、curl のようなツールや、URL のコール時にボディの POST を実行できる他のツール (Chrome/Mozilla Firefox の拡張機能) を使用して JSON の POST を実行できます。

よくある質問と回答

  • このコネクタはどの SharePoint バージョンをサポートしますか?

    SharePoint コネクタは、SharePoint Online とオンプレミス版の SharePoint をサポートします。

  • このコネクタではどの認証方式がサポートされますか?

    SharePoint Online では、標準の SharePoint Online ユーザログイン情報を使用した認証と Okta 認証がサポートされます。

  • コネクタからは SharePoint オブジェクトモデルのどの部分にアクセスできますか?

    Files (ファイル)、Folders (フォルダ)、Lists (リスト)、ListItems (リスト項目)、および Attachments (添付ファイル) がサポートされます。さらに、SharePoint API の他のすべてのエンティティには、ResolveObject 操作と ResolveCollection 操作を使用して JSON 形式でアクセスできます。

  • このコネクタでは DataSense と DataWeave はサポートされますか?

    はい。サポートされるすべてのエンティティとエンティティ属性はコネクタによって Studio に提供され、DataWeave で使用できます。

  • このコネクタではどのような操作を実行できますか?

    Lists (リスト) と ListItems (リスト項目) の API では、Create、Retrieve、Update、および Delete の各操作がサポートされます。

    Files (ファイル) と Folders (フォルダ) では、Add、Retrieve content、Retrieve metadata、Delete、Check out、Undo check out、Check in、Publish、Unpublish、Approve、Deny、Recycle、および Copy の各操作がサポートされます。

  • このコネクタではどの Mule エディションを使用できますか?

    このコネクタは、CloudHub インテグレーション PaaS など、すべてのオペレーティングシステム (32 ビットと 64 ビット) で動作しているすべての Enterprise Edition Anypoint プラットフォームでサポートされます。

ユースケース: XML

<?xml version="1.0" encoding="UTF-8"?>

<mule xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core"
xmlns:sharepoint="http://www.mulesoft.org/schema/mule/sharepoint"
xmlns:http="http://www.mulesoft.org/schema/mule/http"
xmlns="http://www.mulesoft.org/schema/mule/core"
xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.mulesoft.org/schema/mule/core
http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http
http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/sharepoint
http://www.mulesoft.org/schema/mule/sharepoint/current/mule-sharepoint.xsd
http://www.mulesoft.org/schema/mule/ee/core
http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd">
 <configuration-properties file="mule-app.properties"/>
	<http:listener-config name="HTTP_Listener_config" doc:name="HTTP Listener config">
		<http:listener-connection host="localhost" port="8081" />
	</http:listener-config>
	<sharepoint:sharepoint-online-config name="SharePoint_SharePoint_online" doc:name="SharePoint SharePoint online">
		<sharepoint:online-connection username="${sharepoint.username}" password="${sharepoint.password}" siteUrl="${sharepoint.siteUrl}" disableCnCheck="${sharepoint.disableCnCheck}" />
	</sharepoint:sharepoint-online-config>
	<flow name="UI-PROVIDER">
		<http:listener doc:name="Listener" config-ref="HTTP_Listener_config"
		path="/demo"/>
		<parse-template doc:name="Parse Template" location="formInput.html"/>
	</flow>
	<flow name="FILE-ADD_FLOW">
		<http:listener doc:name="Listener" config-ref="HTTP_Listener_config"
		path="/fileadd"/>
		<sharepoint:file-add doc:name="File add"
		config-ref="SharePoint_SharePoint_online"
		fileServerRelativeUrl="#[attributes.queryParams.path]"
		overwrite="true">
			<sharepoint:file-content-stream ><![CDATA[#[attributes.queryParams.content]]]></sharepoint:file-content-stream>
		</sharepoint:file-add>
		<ee:transform doc:name="Transform Message">
			<ee:message >
				<ee:set-payload ><![CDATA[%dw 2.0
output application/java
---
payload.name
]]></ee:set-payload>
			</ee:message>
		</ee:transform>
		<set-payload value="#[payload ++ ' Successfully created.']"
		doc:name="Set Payload" mimeType="text/plain"/>
	</flow>

	<flow name="FILE-GET-CONTENT-FLOW"  >
		<http:listener doc:name="Listener" config-ref="HTTP_Listener_config"
		path="/filegetcontent"/>
		<sharepoint:file-get-content doc:name="File get content"
		 config-ref="SharePoint_SharePoint_online">
			<sharepoint:file-server-relative-url ><![CDATA[#[attributes.queryParams.path]]]></sharepoint:file-server-relative-url>
		</sharepoint:file-get-content>
		<set-payload value="#[payload]" doc:name="Set Payload"
		 mimeType="text/plain"/>
	</flow>

	<flow name="FILE-GET-META-FLOW">
		<http:listener doc:name="Listener" config-ref="HTTP_Listener_config" path="/getmetadata"/>
		<sharepoint:get-metadata doc:name="Get metadata"
		 config-ref="SharePoint_SharePoint_online">
			<sharepoint:file-server-relative-url ><![CDATA[#[attributes.queryParams.path]]]></sharepoint:file-server-relative-url>
		</sharepoint:get-metadata>
		<ee:transform doc:name="Transform Message">
			<ee:message >
				<ee:set-payload ><![CDATA[%dw 2.0
output application/json
---
payload]]></ee:set-payload>
			</ee:message>
		</ee:transform>
	</flow>
	<flow name="FILE-DELETE-FLOW">
		<http:listener doc:name="Listener" config-ref="HTTP_Listener_config"
		path="/deletefile"/>
		<sharepoint:file-delete doc:name="File delete"
		 config-ref="SharePoint_SharePoint_online">
			<sharepoint:file-server-relative-url ><![CDATA[#[attributes.queryParams.path]]]></sharepoint:file-server-relative-url>
		</sharepoint:file-delete>
		<set-payload value="#[payload  ++ ' Successfully deleted.']"
		doc:name="Set Payload" mimeType="text/plain"/>
	</flow>
</mule>

Was this article helpful?

💙 Thanks for your feedback!

Edit on GitHub