書くことないです。

ayamadoriが独り言を呟く日記。

ソーシャルフィードをPeopleアプリに表示する方法。

Peopleアプリ(People Hub)でTwitterとかFacebookの新着情報をまとめて表示する機能のこと。
ウェブ/クライアント、サービスベンダ/MSの境目が変わってる。

Windows Phone 7~8, Windows 8/8.1

www.microsoft.com
どうやらActivity Streamsという規格を使っているらしい。

www.slideshare.net

Activity Streams / Windows-Live-Activity-Streams

osdn.jp

Atomフォーマットの拡張版という感じらしい。

ソーシャル・オブジェクトを Atom フォーマットで表現する

これを使ってウェブ上のWindows Liveに情報を集約したうえで、端末のPeopleアプリに配信する形。

しかしあまり流行らなかったのか、サービス側の仕様変更で使えなくなったりした。

Windows 8/8.1 の People アプリでは、Facebook および Sina Weibo のネットワークとの統合は、両サービスの接続先ソフトウェアに加えられた変更によりサポートされなくなりました。つまり、People アプリから Facebook または Sina Weibo の情報にアクセスしたり、これらのサービスに直接シェアすることはできなくなります。
https://support.microsoft.com/ja-jp/help/14103/windows-8-people-app-help

裏を返せばMSが仕様変更に付いていかなかったということでもある。
この時期にはもうWindows 10が見えていて、そこでPeopleアプリに手を入れることが決まっていたからだろうか。(推測)

しかしこのActivity Streams、今でも使ってるサービスあるんだろうか。一応バージョン2.0を作ろうとしているようだけど。。。

Activity Streams 2.0

Windows Phone 8.1

自分の知る限り、TwitterFacebookなどの特定のサービスベンダにしか仕様が公開されていなかったため詳細は不明。
ただし、動作を見る限り後述するWindows 10と似た仕様になっていたと思われる。

Windows 10

基本的にはこの記事が全て。
サービスベンダのアプリにバックグラウンドで情報を取得させて、それをPeopleアプリがAppServiceで取得するような形か。
https://msdn.microsoft.com/en-us/windows/uwp/contacts-and-calendar/integrating-social-feeds-into-contact-cards?f=255&MSPPError=-2147217396msdn.microsoft.com

(追記:2016/10/24)
上のリンクが消えている。

メインとなるSocialInfo APIを見ると、Device familyが

Mobile, introduced version 10.0.10240.0
Universal, introduced version 10.0.14393.0
Windows.ApplicationModel.SocialInfo.SocialInfoContract - Windows app development

となっているので、Windows Phone 8.1の仕様をまずビルド10240で公開したということだろうか*1(推測)
それをビルド14393(いわゆるAnniversary Update)でUniversalに移動している。
ターゲットをPCにしても当然ビルド/デプロイ可能だが、Peopleアプリがまだソーシャルフィードの表示に対応してない模様。

公式サンプル。14393での変更が織り込まれてないので早く更新してほしい。
github.com

チラシの裏

Twitterさんは早く公式アプリをこれに対応してほしい。自分ではやる気がない。

*1:ただし、Windows 10 Mobileの最初の公式リリースはビルド10586