Applied Windows Live Custom Domains (3) – SOAP Calls to the Web Service

來源:互聯網
上載者:User

如果您想自己血訪問Windows Live Custom Domains Web服務的代碼,那麼需要看一下下面的幾個方法。

GetLoginUrl

public string GetLoginUrl(string memberName)
調用:GetLoginUrl(fanweixiao@hotmail.com)
返回:為了使用我們的服務的Passport的登陸URL

GetLoginDataTemplate

public string GetLoginDataTemplate()
擷取用以獲得Passport認證票據(Passport authentication ticket)的資料模版(data template)。
注意:該方法調用後我們必須使用網域系統管理員的登陸名和密碼來替換模版中的值,然後再去調用Passport,因為這個模版是不會改變的,我們只需要在每次操作(session)調用它一次。

VerifyAuthData

public bool VerifyAuthData(string authData)
將GetLoginDataTemplate()方法返回的修改後的資料發送到GetLoginUrl()返回的URL上來驗證登陸使用者,如果是有效網域系統管理員將返回true。
上面這三個方法可以建立Passport的票據,我們只需要登陸一次,之後直接可以進行添加、刪除、匯入和棄用(evict)的操作。該票據到期時間至少為1小時。

AddUser

public void AddUser(string name, string password, bool resetPassword, string authData)
需要注意的是name要是vc@onlyvc.org這種樣式的,密碼是用來登陸hotmail的。resetPassword如果為true的話那麼新使用者第一次登陸到hotmail時需要修改密碼。
需要注意的是我們在調用該方法前需要先調用西面的GetUserState方法來判斷該使用者名稱是否可以被添加。

GetUserState

public enum GetUserState(string name, string authData)

返回該使用者名稱所對應使用者的狀態。它的幾個傳回值:
0:表明有效,可以被註冊。
1:被屏蔽,該使用者名稱存在非法字元
2:該使用者已經被註冊了。
3:該使用者曾經是一個Passport賬戶並且與Hotmail收件匣想綁定,在過去的30天內該賬戶被刪除了。基於Hotmail的機制,這些賬戶不能在30天內被再次應用的。這種情況經常出現與如果一個使用者名稱使用過Messenger的離線訊息收件匣(OIM inbox,Offline Instant Messenger),OIM使用hotmail儲存離線訊息,這個特性被新的Messenger的Live服務所廣泛使用。
4:已經存在EASI賬戶(EASI在上一篇文章中有介紹)。如果我們想建立新賬戶可以先棄用該賬戶。

DeleteUser

public void DeleteUser(string name, string authData)
這個方法要謹慎使用,因為被刪除的使用者不但丟失所有的email還會被關30天禁閉才能再被使用。下一次這個使用者登陸的時候它將被告知需要修改它的Passport賬戶名稱,與我們的域也沒有什麼關係了。

EnumUsers

public string[] EnumUsers(string domainName, string start, int num, string authData)

start指明了返回列表的開始值,為""時返回所有使用者名稱,以字串數組形式存放,num表示了返回的個數,最大允許值是500,所以如果該參數值為500以上的話可以返回所有使用者。

ImportUser

public void ImportUser(string name, string authData)

匯入一個已經在Passport上註冊的使用者。參考上一篇blog的描述可得知該方法的目的。這個方法的調用可能失敗,情況如下:

  1. 使用者不存在與Passport中
  2. 使用者已經在該域的管理範圍之內了(已經被匯入或添加了)

EvictSquatter

public void EvictSquatter(string name, string authData)

也是在上一篇blog的相關介紹,同ImportUser一樣也可能失敗,原因也一樣。

EnumDomains

public DomainState[] EnumDomains(string authData)
返回所有該管理員管理的域資訊。
DomainState[]由下面三部分組成:

  1. Domain name 網域名稱(string)
  2. Active state 活動狀態(boolean)
  3. MX record MX記錄 (string)

如果一個網域名稱有多個管理員,MX記錄將顯示該登陸使用者所這設定的。

GetDomainState

public DomainState[] GetDomainState(string domainName, string authData)
獲得一個域的狀態資訊。DomainState[]的組成同上

To Be Continued ...

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.