Outlook での天気予報バーの拡張

Outlook 2013 で天気予報バー用サードパーティの天気予報 Web サービスをプラグインとして指定して、ユーザーの選択する場所の天気予報データを提供する方法について説明します。

天気予報バーの概要

Outlook の天気バーには、ある地点の天気状況と天気予報が表示されます。 ユーザーが 1 つまたは複数の場所を選択すると、予定表モジュールの天気予報バーの中に天気予報データが表示されます。 図 1 は天気予報バーにニューヨークの向こう 3 日間の予報が表示されているところです。

図 1. Outlook の天気予報バー

ニューヨークの予報を示している天気予報バー

天気予報バーの設定値は、ユーザーのプロファイルと共に保存されます。 Exchange のアカウントの場合のように、Outlook アカウントの種類に応じて、ユーザーが同じプロファイルでログオンするすべてのコンピューターにおいて設定値のローミングが可能な場合があります。 あるいは、IMAP/POP のアカウントの場合のように、コンピューターごとにユーザーが設定値をカスタマイズすることも可能です。

既定では、Outlook では MSN Weather によって提供される天気予報データが使用されます。 天気予報バーでは、Outlook との通信用に定義されているプロトコルに準拠するサードパーティ天気予報データ Web サービスがサポートされます。 サードパーティ天気予報データ サービスがこのプロトコルをサポートする限り、天気予報バーに天気予報データを提供する天気予報データ サービスをユーザーが選ぶことが可能です。 この記事では、Outlook の天気予報バーにサードパーティ天気予報サービスを統合するためのプロトコルについて説明します。

天気予報バー プロトコル

ユーザーは、天気予報バーのために別の天気予報データ サービスを指定することができます。ただし、その天気予報データ サービスでは、Outlook と通信するための以下のプロトコルをサポートする Web サービスが実装されていなければなりません。

  1. 気象データ サービスでは、Web サービスのベース URL がサポートされます。 たとえば、Contoso Weather Web サービスのベース URL は https://service.contoso.com/data.aspx という具合です。

  2. この Web サービスにより、Outlook が場所コードを要求するために次のパラメーターをベース URL に追加できるようになります。

    • outputview=search: このパラメーターは、要求が場所の検索であることを示すものです。

    • weasearchstr= city: このパラメーターは、ユーザーが天気予報を必要とする場所 ( 都市) を示します (たとえば、ロンドン)。

    • culture= LCID: このパラメーターは、コンピューター上でそのユーザー用にインストールされている Office のバージョンのカルチャを示します。 LCID 値は「[RFC4646] 言語を識別するタグ」で定義されています。

    • src=outlook: このパラメーターは、Outlook がサービス要求元クライアント アプリケーションであることを示します。

    これらのパラメーターにより Outlook は、ユーザーが対象として指定する場所に関連する場所コードとして気象データ サービスでサポートされるものを検索します。 Web サービスから Outlook に対して、「Outlook Weather Location XML Schema」に準拠した XML の形式で場所コードが応答として返されるはずです。 図 2 に、場所コードの Web サービス要求と応答についてまとめます。

    図 2. 場所コードの Web サービス要求と応答

    天気予報の場所の要求と応答

  3. またこの Web サービスにより、Outlook は場所コードの天気予報情報を要求するために次のパラメーターを追加できます。

    • wealocations= code:このパラメーターの code は、Outlook がステップ 2 で得た場所コードであり、それはユーザーが対象として指定した場所に対応するものです。

    • weadegreetype= degreetype: このパラメーターは、気温の測定単位として摂氏を使うか華氏を使うかを指定します。 メートル法の場合は c、 degreetype の場合はフィート単位の場合は f を指定します。 このパラメーターは省略可能であり、Web サービス要求に常に指定されているわけではありません。

    • culture= LCID: このパラメーターは、コンピューター上でそのユーザー用にインストールされている Office のバージョンのカルチャを示します。 LCID 値は「[RFC4646] 言語を識別するタグ」で定義されています。

    • src=outlook: このパラメーターは、Outlook がサービス要求元クライアント アプリケーションであることを示します。

    これらのパラメーターにより Outlook は、ステップ 2 で返される場所コードについて、天気予報データ サービスに対して予報を要求することができます。 Web サービスからは、Outlook に対する応答として、「Outlook Weather Information XML Schema」に準拠した XML の形式で、対応する気象データが返されます。 図 3 に、指定された場所コードの天気予報データのための Web サービス要求と応答をまとめます。

    図 3. 天気予報情報の Web サービス要求と応答

    天気情報の要求と応答

天気予報サービスを使用するための天気予報バーの設定

管理者やパワー ユーザーは、 WeatherServiceUrl レジストリ キーを使用することにより、特定の天気予報サービスを使用するように天気予報バーをカスタマイズすることができます。 たとえば、Contoso 天気予報サービスのベース URL が https://service.contoso.com/data.aspx だとすると、 WeatherServiceUrl キーをその URL に設定することができます。

以下の表で、 WeatherServiceUrl キーについて説明します。

説明
キー
HKCU\Software\Microsoft\Office\15.0\Outlook\Options\Calendar
値の名前
WeatherServiceUrl
値の型
REG_SZ
既定値
EMPTY_STRING
説明
天気予報データ サービスの URL

依存条件

既定では、Outlook 2013 に天気予報バーが表示されます。 このセクションでは、ある場合に天気予報バーが表示されない理由について説明します。

天気予報バーがオフになっている

まず、[ Outlook オプション] ダイアログ ボックスの [ 予定表] タブで、[ 予定表に天気予報を表示する] がオンになっていることを確認します。

また、管理者がグループ ポリシーを使用して、Windows レジストリの以下のキーを設定することにより、Outlook 2013 で天気予報バーをオフにしている可能性もあります。

説明
キー
HKCU\Software\Microsoft\Office\15.0\Outlook\Options\Calendar
値の名前
DisableWeather
値の型
REG_DWORD
既定値
0
説明
値 0 の場合、天気予報バーが有効になります。それ以外の値の場合、天気予報バーは無効になります。

天気予報バー機能がグループ ポリシーによってオフにされている場合、[ 予定表] タブに [ 予定表に天気予報を表示する] チェック ボックスは表示されません。 この機能を再びオンにする場合は、管理者にお問い合わせください。

Office がインターネットに接続されていない

Office がインターネットに接続可能であることを確認してください。Backstage ビューの [ セキュリティ センター] の [ プライバシー オプション] タブで、[ Office のインターネット接続を許可します] がオンになっていることを確認してください。

ユーザーが Office の更新プログラムを受け取らないことを選択している場合も、天気予報バーがオフになっています。

管理者がグループ ポリシーを使用して Windows レジストリの以下のキーを設定することにより、天気予報バーを含むオンライン コンテンツをすべてオフにしている可能性もあります。

説明
キー
HKCU\Software\Microsoft\Office\15.0\Common\Internet
値の名前
UseOnlineContent
値の型
REG_DWORD
既定値
2
説明
値 2 の場合、天気予報バーが有効になります。それ以外の値の場合、天気予報バーは無効になります。

天気予報バー機能がグループ ポリシーによってオフにされている場合、[ 予定表] タブに [ 予定表に天気予報を表示する] チェック ボックスは表示されません。 この機能を再びオンにする場合は、管理者にお問い合わせください。

天気予報バーの例

このセクションでは、前述のプロトコルに従って Outlook と通信する Contoso Weather サービスの例を示します。 ユーザーが選択した任意の場所について、Outlook はまず Contoso Weather からその場所の場所コードを取得し、その場所コードを使用して Contoso Weather サービスを呼び出して気象データを取得します。

ベース URL

Contoso Weather は、天気予報データ サービスのために以下のベース URL を提供しています。

https://service.contoso.com/data.aspx

場所コードの取得

Outlook では、上記の手順 2 で説明したパラメーターをベース URL に追加して、地理的な場所 の市区町村の場所コードを取得します。

https://service.contoso.com/data.aspx?outputview=search&weasearchstr= city

例として、ユーザーが天気予報バーで [東京] を選択したとします。Outlook は、以下の URL を使用することにより、Contoso Weather から東京の場所コードを取得します。

https://weather.service.contoso.com/data.aspx?outputview=search&weasearchstr=tokyo

Contoso Weather は、以下の XML を応答として返し、東京の場所コードを提供します。 この XML は、Outlook Weather Location XML Schema に準拠するものです。 天気予報サービスから、複数の場所のデータが返されることも少なくありません (選択された場所が大都市の場合など)。 この例の場合、東京に対する応答には 2 つの場所が含まれており、それぞれが weather 要素で囲まれています。 対応する場所コードは、以下のとおりです。

  • weatherlocationname 属性の wc:JAXX0085Tokyo, JPN

  • weatherlocationname 属性の wc:10038604Shinjuku-ku, Tokyo, Japan

<?xml version="1.0" ?>
<weatherdata>
  <weather weatherlocationcode="wc:JAXX0085" 
    weatherlocationname="Tokyo, JPN">
  </weather>
  <weather weatherlocationcode="wc:10038604" 
    weatherlocationname="Shinjuku-ku, JPN">
  </weather>
</weatherdata>

場所コードの天気予報情報の取得

場所の場所コードを取得したあと、Outlook は、ベース URL に、ステップ 3 で説明されているパラメーターを付加することによって、その場所コードの天気予報情報を取得します。

https://service.contoso.com/data.aspx?wealocations= コード

例として、Contoso Weather から [東京] の場所コードとして Outlook が wc:JAXX0085 を得たとすると、Outlook は、以下の URL の中でその場所コードを使用することによって天気予報情報を取得します。

https://service.contoso.com/data.aspx?wealocations=wc:JAXX0085

Contoso Weather は、以下の XML を応答として返すことにより、東京の場所コードに対応する天気予報情報を提供します。 この XML は、Outlook Weather Information XML Schema に準拠したものです。

<?xml version="1.0"?>
<weatherdata>
  <weather timezone="9" attribution="Data provided by Trey Research" 
    degreetype="F" imagerelativeurl="https://contoso.com/images/" 
    url="https://contoso.com/weather.aspx?eid=33568&amp;q=Tokyo-JPN" 
    weatherlocationname="Tokyo, JPN" 
    weatherlocationcode="wc:JAXX0085">
      <current winddisplay="9 mph NNW" windspeed="9" humidity="90" feelslike="44" 
        observationpoint="Tokyo" observationtime="06:00:00" 
        shortday="Sat" day="Saturday" date="2012-04-14" skytext="Rain" skycode="11" 
        temperature="48"/>
      <forecast shortday="Sat" day="Saturday" date="2012-04-14" precip="95" skytextday="Rain"
        skycodeday="11" high="55" low="47"/>
      <forecast shortday="Sun" day="Sunday" date="2012-04-15" precip="5" skytextday="Partly Cloudy" 
        skycodeday="30" high="65" low="43"/>
      <forecast shortday="Mon" day="Monday" date="2012-04-16" precip="5" skytextday="Partly Cloudy" 
        skycodeday="30" high="64" low="52"/>
      <forecast shortday="Tue" day="Tuesday" date="2012-04-17" precip="70" skytextday="Showers / Clear" 
        skycodeday="39" high="66" low="53"/>
      <forecast shortday="Wed" day="Wednesday" date="2012-04-18" precip="55" skytextday="Showers / Clear" 
        skycodeday="39" high="68" low="51"/>
  </weather>
</weatherdata>

MSN Weather を使用するように Outlook をリセットする

Outlook は既定で MSN Weather を使用することになっていますが、ユーザーが天気予報バーをカスタマイズして別の天気予報サービスを使用するようにした後、再び MSN Weather を使用する場合、ユーザーは、単に Windows レジストリの WeatherServiceUrl キーを削除することができます。 このレジストリ キーを削除すると、Outlook がリセットされ、MSN Weather が使用されるようになります。

まとめ

Outlook 予定表の天気予報バーでは、指定された場所の天気予報を提供するため、既定値として MSN Weather が使用されます。 ユーザーは、指定した場所の天気予報情報を表示できます。 また、Outlook Weather Location XML Schema および Outlook Weather Information XML Schema をサポートし、Outlook とのシンプルな Web サービス プロトコルに準拠することにより、天気予報バーにサードパーティ天気予報データ サービスを統合することもできます。

関連項目