2019年3月 4日 (月)

[SharePoint Online] RSS Webパーツと PowerApps

SharePoint のモダンサイトでは RSS Webパーツを利用したくても、コネクターとして提供されているうえに、Office 365 グループに接続されていることが前提になってしまっています。コミュニケーション サイトを前提にポータルを作るとなると、Office 365 グループ接続はしないでしょうし、仮に Office 365 グループに接続されていたとしても、このコネクター自体、あまり使い勝手がよくありません。

実際に同様のご質問を、以前、研修時にも頂きました。

さて、今のところ最善策として取り得る選択肢の一つは SharePoint Framework を使って独自に Web パーツを作るかということですが、これもいきなりはハードルが高い。そこで手軽に利用することを考えると PowerApps アプリとしてページに埋め込んでしまうというのも一つの手です。

実際に作成してみているのが下記のページです。PowerApps の公式 Blog の RSS フィード("https://powerapps.microsoft.com/en-us/blog/feed/")を読み込んでいます(細かい話ですが、"New!" アイコンは発行日が今日から一週間以内かどうか簡単な判定式を書いて表示しています。基本的な手順だけではアイコンまでは表示できないのでご注意を)。

RssPowerAppsBlog

ちなみにSharePoint Framework に関しては React コントロールを使った Webパーツの紹介およびソースコードが最近実施された SharePoint Developer Community (PnP) の Community Demo でも公開されています。

PowerApps アプリの作成

大まかな手順は次の通りです。

  1. 空の携帯電話レイアウトからキャンバス アプリを作成
  2. データソースとして RSS コネクターを追加しておく
  3. OnStart もしくはメインスクリーンの OnVisible に次の式を指定
    ClearCollect(feeds,RSS.ListFeedItems("https://powerapps.microsoft.com/en-us/blog/feed/"))
  4. ギャラリーコントロールを配置し Items プロパティに feeds コレクションを設定
  5. 画面上部にHtmlテキスト コントロールを配置し、Galleryで選択したアイテムの Summary 部分を表示

もちろん、細かい微調整はするのですが、大体は上記のような感じで作成します。さらに言えば、SharePoint リストの RSS フィードは利用できませんので注意しましょう。そもそも、SharePoint リストなら、PowerApps から SharePoint コネクターを使えばリストデータは取得できるため RSS フィードは利用する必要がありません。

音声はありませんが、手順をビデオにしているので参考になれば幸いです。

コメント