Flex Gateway新着情報
Governance新着情報
Monitoring API Managerこの例では、Microsoft Excel Online Connector を使用して次のアクションを実行する方法を示しています。
この例を実行するには、以下が必要です。
Anypoint Studio 7.3.5 以降
Microsoft Excel Online Connector 1.0 以降
Microsoft Excel Online の作業インスタンス
このコネクタでは、OAuth を使用して接続を保護するため、OAuth 項目値 (クライアントログイン情報、キー、OAuth 関連の URL など) を指定する必要があります。次の手順を実行します。
OAuth 接続の設定ファイルを作成します。
OAuth 関連のグローバル要素を設定します。
プロパティファイルのグローバル要素を設定します。
[Authorization Code
(クライアントログイン情報)] 許可種別のプロパティが含まれる OAuth 接続の設定ファイルを作成します。
/src/main/resources/
フォルダー内に mule-app.properties
という名前のファイルを作成します。
mule-app.properties
ファイルで、次のような [Authorization Code
(認証コード)] 許可種別の一連のプロパティを作成します。括弧で囲まれたテキスト (括弧を含む) は、各自の OAuth 設定の適切な値に置き換えます。
config.oauth.authorization.code.consumerKey=<consumerKey> config.oauth.authorization.code.consumerSecret=<consumerSecret> config.oauth.authorization.code.authorizationUrl=<authorizationUrl> config.oauth.authorization.code.accessTokenUrl=<accessTokenUrl>
プロパティファイルの作成についての詳細は、「プロパティプレースホルダーの設定」を参照してください。
OAuth_Authorization_Code_Config
ファイルのグローバル要素を設定します。
新しい Mule プロジェクトを作成します。
[Mule Palette (Mule パレット)] ビューで、[Search in Exchange (Exchange 内を検索)] をクリックして「microsoft excel
」と入力します。
[Selected modules (選択したモジュール)] セクションに [Microsoft Excel Online Connector] を追加し、[Finish (完了)] をクリックします。
[Global Elements (グローバル要素)] タブをクリックし、[Create (作成)] をクリックします。
[Connector Configuration (コネクタ設定)] > [Microsoft Excel Online Authorization Code Config (Microsoft Excel Online 認証コード設定)] を選択し、[OK] をクリックします。
次の値を入力します。
項目 | 値 |
---|---|
Name (名前) |
|
Consumer key (コンシューマーキー) |
|
Consumer secret (コンシューマーシークレット) |
|
Authorization url (認証 URL) |
|
Access token url (アクセストークン URL) |
|
スコープ |
デフォルト ( |
Listener config (リスナー設定) |
|
Callback path (コールバックパス) |
|
Authorize path (認証パス) |
|
External callback url (外部コールバック URL) |
|
[OK] をクリックします。
mule-app.properties
ファイルのグローバル要素を設定し、このファイルの検索場所が Mule で認識されるようにします。
[Global Elements (グローバル要素)] タブをクリックし、[Create (作成)] をクリックします。
[Choose Global Type (グローバル種別の選択)] ダイアログで、[Configuration properties (設定プロパティ)] を選択し、[OK] をクリックします。
[File (ファイル)] 項目に「mule.app.properties
」と入力します。
[OK] をクリックします。
次のスクリーンショットは、新しいワークシートを追加する Studio アプリケーションフローを示しています。
新しいワークシートを追加するには、HTTP Listener コンポーネント、Transform Message コンポーネント、Add worksheet 操作、Logger コンポーネントを設定する必要があります。
フローを作成する手順は、次のとおりです。
Studio で新しい Mule プロジェクトを作成します。
[Mule Palette (Mule パレット)] で「HTTP」を検索し、Listener 操作を選択します。
[Listener] 操作をキャンバスにドラッグします。
Listener 設定で、[Connector configuration (コネクタ設定)] 項目の横にある [+] をクリックしてグローバル要素を追加します。
デフォルトを受け入れます。
[HTTP] プロパティウィンドウで、[Path (パス)] 項目を /create
に設定します。
最初の Transform Message コンポーネントでは、チームの作成に使用する入力のテンプレートを作成します。
[Mule Palette (Mule パレット)] ビューで、「transform message」を検索します。
Transform Message コンポーネントをキャンバスの Listener コンポーネントの右にドラッグします。
Transform Message 設定で、[Output (出力)] セクションの括弧を次の XML で上書きします。
<ee:set-payload ><![CDATA[%dw 2.0
output application/json
---
{
workbookId: attributes.queryParams.workbookID,
worsheetname: attributes.queryParams.worksheetName
}]]></ee:set-payload>
xml
Add Worksheet 操作では、ユーザー入力に基づいて新しいワークシートを作成します。
[Add worksheet] 操作をキャンバスの [Transform Message] コンポーネントの右にドラッグします。
[Add worksheet] の設定で、[Connector configuration (コネクタ設定)] ドロップダウンをクリックし、[Microsoft-Excel-Online-Authorization-Code-Config] を選択します。
グローバル要素種別として [Microsoft_Excel_Online_Authorization_Code_Config] を選択し、[OK] をクリックします。
[Add worksheet] のプロパティウィンドウで、次の項目を設定します。
項目 | 値 |
---|---|
Workbook Id (ワークブック ID) |
|
Worksheet Name (ワークシート名) |
|
ワークシートをリストする 2 番目のフローを作成します。 このフローでは、List worksheet 操作を使用します。
ワークシートに関する情報を更新する 3 番目のフローを作成します。 このフローでは、Update worksheet 操作を使用します。
ワークシートを削除する 4 番目のフローを作成します。 このフローでは、Delete worksheet 操作を使用します。
アプリケーションを実行する手順は、次のとおりです。
Package Explorer でプロジェクトを右クリックし、[Run As (別のユーザーとして実行)] > [Mule Application (Mule アプリケーション)] を選択します。
アプリケーションをデプロイしたら、Web ブラウザーを開きます。
http://localhost:8081/authorize
という URL を入力して、OAuth ダンスを開始します。
ログイン画面で、Microsoft Excel Online にアクセスするためのログイン情報を入力し、[Login (ログイン)] をクリックします。
[Allow (許可)] をクリックします。
次の表に示すように、関連付けられた URL を入力してフローを開始します。
Flow | URL | 注意事項 |
---|---|---|
ワークシートを追加する |
|
|
ワークシートをリストする |
||
ワークシートを更新する |
||
ワークシートを削除する |
|
この XML コードをプロジェクトの [Configuration XML (設定 XML)] タブに貼り付けて、前のセクションで説明したフローを試してください。このコードを貼り付けたら、[Regenerate 'doc:id' Values (「doc:id」値を再生成)] ダイアログで [Yes (はい)] をクリックします。
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core" xmlns:excel="http://www.mulesoft.org/schema/mule/excel"
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/excel http://www.mulesoft.org/schema/mule/excel/current/mule-excel.xsd
http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd">
<http:listener-config name="HTTP_Listener_config" doc:name="HTTP Listener config" doc:id="b67a7f0e-9d8f-43ee-b3d8-0a2f86fe10c5" >
<http:listener-connection host="0.0.0.0" port="8081" />
</http:listener-config>
<excel:authorization-code-config name="Microsoft_Excel_Online_Authorization_Code_Config" doc:name="Microsoft Excel Online Authorization Code Config" doc:id="a03ea31c-ab5c-4508-ae87-91485d0d9201" >
<excel:oauth-authorization-code-connection >
<excel:oauth-authorization-code consumerKey="${consumerKey}" consumerSecret="${consumerSecret}" authorizationUrl="${authorizationUrl}" accessTokenUrl="${accessTokenUrl}" scopes="${scopes}" resourceOwnerId="${resourceOwnerId}"/>
<excel:oauth-callback-config listenerConfig="HTTP_Listener_config" callbackPath="/callback" authorizePath="/authorize" externalCallbackUrl="http://localhost:8081/callback" />
</excel:oauth-authorization-code-connection>
</excel:authorization-code-config>
<configuration-properties doc:name="Configuration properties" doc:id="2820ecc1-e8be-4b5f-8d6e-5eb3afaf1732" file="mule-app.properties" />
<flow name="create-flow" doc:id="fcdaa88d-173a-4213-aaef-65bdcf384f03" >
<http:listener doc:name="Listener" doc:id="f6a51e00-2be8-4524-9e39-cd4e3387b5e0" config-ref="HTTP_Listener_config" path="/create"/>
<ee:transform doc:name="Transform Message" doc:id="f277839a-9e59-4d2a-9d53-c4d2f012ae90" >
<ee:message >
<ee:set-payload ><![CDATA[%dw 2.0
output application/json
---
{
workbookId: attributes.queryParams.workbookID,
worsheetname: attributes.queryParams.worksheetName
}]]></ee:set-payload>
</ee:message>
</ee:transform>
<excel:add-worksheet doc:name="Add worksheet" doc:id="071f5319-16ae-43dc-9420-bf47479eb3d1" config-ref="Microsoft_Excel_Online_Authorization_Code_Config" workbookId="#[payload.workbookId]" worksheetName="#[payload.worsheetname]"/>
<logger level="INFO" doc:name="Logger" doc:id="9dd54e43-357e-454d-94ff-ccace4bcb580" message="Worksheet ID : #[payload.id]"/>
</flow>
<flow name="list-flow" doc:id="5b1b8836-f3a2-445e-b495-c80d93dcd82d" >
<http:listener doc:name="Listener" doc:id="0ffa794c-37a4-4c57-a14d-da7009fa504f" config-ref="HTTP_Listener_config" path="/list" />
<ee:transform doc:name="Transform Message" doc:id="f71f89a7-0f51-44ba-9e46-18e6f8dcc8c8" >
<ee:message >
<ee:set-payload ><![CDATA[%dw 2.0
output application/json
---
{
workbookId: attributes.queryParams.workbookID
}]]></ee:set-payload>
</ee:message>
</ee:transform>
<excel:list-worksheet doc:name="List worksheet" doc:id="5e576012-f3a1-428a-b20f-d9d5a3442398" config-ref="Microsoft_Excel_Online_Authorization_Code_Config" workbookId="#[payload.workbookId]"/>
</flow>
<flow name="update-flow" doc:id="0cfe6bad-85e8-4e61-9688-52c6b37a93a8" >
<http:listener doc:name="Listener" doc:id="6c874287-c011-4b19-b3e8-55744003f0f6" config-ref="HTTP_Listener_config" path="/update"/>
<ee:transform doc:name="Transform Message" doc:id="d0697ad3-e842-48cd-b0c4-016dd65a712e" >
<ee:message >
<ee:set-payload ><![CDATA[%dw 2.0
output application/json
---
{
name : attributes.queryParams.worksheetUpdateName
}]]></ee:set-payload>
</ee:message>
</ee:transform>
<excel:update-worksheet doc:name="Update worksheet" doc:id="983a65bc-584b-4199-867d-abfb9cf09bcb" config-ref="Microsoft_Excel_Online_Authorization_Code_Config" workbookId="#[attributes.queryParams.workbookID]" worksheetId="#[attributes.queryParams.worksheetName]">
</excel:update-worksheet>
</flow>
<flow name="delete-flow" doc:id="c989f49f-809c-4593-95dc-f93f8634c609" >
<http:listener doc:name="Listener" doc:id="f6e8d004-e264-48c1-85cf-b2ce5a0135d6" config-ref="HTTP_Listener_config" path="/delete"/>
<ee:transform doc:name="Transform Message" doc:id="ea4da82b-cd40-4bf6-b8c7-04efe280d835" >
<ee:message >
<ee:set-payload ><![CDATA[%dw 2.0
output application/json
---
{
workbookId: attributes.queryParams.workbookID,
worksheetName: attributes.queryParams.worksheetName
}]]></ee:set-payload>
</ee:message>
</ee:transform>
<excel:delete-worksheet doc:name="Delete worksheet" doc:id="183fb53f-0c3d-42c2-8676-df485f9a5f43" config-ref="Microsoft_Excel_Online_Authorization_Code_Config" workbookId="#[payload.workbookId]" worksheetId="#[payload.worksheetName]"/>
</flow>
</mule>
xml