MSN Messenger 狀態查詢 API

2009031821:56
參考文件
http://msdn.microsoft.com/en-us/library/bb936688.aspx

其他更多文件:
http://dev.live.com/Messenger/default.aspx

語法:
http://messenger.services.live.com/users/[ID]/[resource]/[?queryparameters]
The [ID] is of format [email protected], where "id" is a numerical user ID.

The [resource] is either:

  • presence: For presence JSON or JavaScript
  • presenceimage: for an image icon denoting the user’s presence

例如:
http://messenger.services.live.com/users/[email protected]/presence/?cb=showpresence

會傳回 JSON 資料:

showpresence(
{
    "icon": {
        "url": "http://www.wlmessenger.net/static/img/presence/Online.gif", 
         "height": 16, "width": 16    
          }, 

        "statusText": "Online", "status": "Online", "displayName": "nickname", 
        "id": "[email protected]", 
         "result": {        "code": 200, "response": "OK"    }
}
);

如果想在網頁放自己的MSN狀態
可以這樣
<img src="http://messenger.services.live.com/users/[email protected]/presenceimage/">

http://msdn.microsoft.com/en-us/library/bb936687.aspx
這個文件說明
This is the status of the user. The value can be one of the following strings:
Online
Away
Idle
BeRightBack
Busy
OutToLunch
OnThePhone
Offline
應用:
若這個 API 查詢出對方是 Online 狀態
但 MSN 視窗顯示的是 Offline
嗯,那就表示對幫把你給封鎖了~~
補:
常常測出來都是 Offline (但對方實際是 Online)
因為對方沒授權被查詢
請對方到 http://settings.messenger.live.com/applications/WebSettings.aspx?wa=wsignin1.0
把這項勾即可(如下圖)
「允許在網路上的任何使用者看見我的狀態,並可傳送訊息給我。


備註:
* 在 Windows Live 的 使用權限 畫面是找不到這項設定
* 在 MSN軟體中的 工具 / 選項 / 隱私
   只有允許清單上的連絡人可以看見我的狀態和傳送訊息給我
   這項目也無關係