• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 24,  comments - 62,  trackbacks - 0

            微軟啟用了新的live域名,有許多人將hotmail之類的帳號(hào)轉(zhuǎn)到新的域名,這就出現(xiàn)了如何將原帳號(hào)下的個(gè)人信息轉(zhuǎn)移到新帳號(hào)的問(wèn)題。對(duì)于live messager的聯(lián)系人列表可采用其聯(lián)系人選項(xiàng)中的導(dǎo)入導(dǎo)出功能,而最麻煩當(dāng)屬將live spaces的空間博客轉(zhuǎn)移到新的帳號(hào)名下。最直接方法就是聯(lián)系微軟管理員,將你舊帳號(hào)下的空間所有權(quán)轉(zhuǎn)移到新帳號(hào)名下,但是業(yè)務(wù)上是否可行不得而知。因此轉(zhuǎn)而另一方法,開新的空間,將舊空間的博客轉(zhuǎn)移到新空間來(lái),本文就是采用這種思路,順帶提及下live api的簡(jiǎn)單使用。

            Windows Live Spaces MetaWeblog API提供了給外部程序進(jìn)行文章內(nèi)容設(shè)置和讀取的功能。API使用了XML—RPC協(xié)議來(lái)在客戶端應(yīng)用程序與Weblog服務(wù)器端進(jìn)行通訊。

            為了使用MetaWeblog API編輯空間中的博文內(nèi)容,首先需要在空間啟用E-mail發(fā)布功能,并設(shè)置密碼字。

            1. 到你的空間中的Options->E-mail Publishing選項(xiàng)進(jìn)行配置
            2. 打開E-mail發(fā)布功能,并選擇 secred word的密碼字。

            在程序中會(huì)用到用戶名和密碼,如果你的空間地址為: oldname.spaces.live.com,則用戶名就是oldname,而不是你的live id,密碼則是上面設(shè)置的secred word,而不是live id的密碼。

            現(xiàn)在的MetaWeblogApi能進(jìn)行發(fā)布新博文,編輯現(xiàn)有的博文,獲取指定博文,獲取類別列表,獲取最近發(fā)布的博文,刪除博文,獲取用戶博客信息,獲取用戶信息等功能。由這些功能,想遷移博客內(nèi)容,首先需要獲取到舊空間里的博文。我們自然想到用MetaWeblogAPI metaWeblog.getRecentPosts Method函數(shù),指定一個(gè)較大的值,然后獲取全部的博文。很可惜,對(duì)于live spaces值只能取20,也就是說(shuō)只能獲取最近20篇博文。順便提下,這里的20篇包括你己發(fā)布的,和存在空間里的草稿,這些草稿有時(shí)候并不會(huì)在空間里顯示出來(lái),但是操作時(shí)會(huì)有表示。如果用MetaWeblogAPI metaWeblog.getPost Method,需要知道指定博文的id號(hào),沒(méi)有獲取到全部博文id的方法作輔助,這又是一個(gè)因難。

            最后我采用了將metaWeblog.getRecentPosts方法的獲取值設(shè)為1,每次取最近的一篇博文,然后記錄id號(hào),將這博文用MetaWeblogAPI metaWeblog.newPost Method發(fā)表到新空間,然后用MetaWeblogAPI blogger.deletePost Method將這id號(hào)的博文從舊空間中刪去,重復(fù)進(jìn)行,直到無(wú)法從舊空間里獲取到博文。在程序?qū)崿F(xiàn)借用了MSDN中的示例,為了防止網(wǎng)絡(luò)故障之類以及做了備份,先是將獲取博文內(nèi)容寫到本地文件,再進(jìn)行刪除。

            程序中還要說(shuō)明的是,由于live spaces服務(wù)器使用非標(biāo)準(zhǔn)的時(shí)間格式,造成用DateTime.Now和獲取到的博文的dateCreated都是"1/1/0001 12:00:00 AM"的格式,這需要在Invoke方法調(diào)用前加上this.NonStandard = XmlRpcNonStandard.AllowNonStandardDateTime語(yǔ)句。還有需要用到CookComputing.XmlRpcV2.dll,它實(shí)現(xiàn)了.net 2.0版本的XML-RPC協(xié)議,己包含在文末的源碼中。如果是.net 1.1,需要其他相應(yīng)的文件,可具體參見(jiàn)http://www.xmlrpc.com/metaWeblogApi

            最后要提下的是,程序只用于我自己的空間遷移,再加上不懂C#,用戶名和密碼之類都硬編碼了,MetaWeblog之類的方法也應(yīng)能用于像cppblog之類用wordpress的博客空間。這些部分加之完善,應(yīng)能做個(gè)博客搬家工具的。

            參考:

            文中的遷移工具源碼下載

            MDSN Windows Live Spaces SDKs

            posted on 2008-09-24 21:50 len 閱讀(2135) 評(píng)論(2)  編輯 收藏 引用 所屬分類: IT技術(shù)

            FeedBack:
            # re: Live Spaces新舊空間遷移方法
            2010-12-13 14:14 | cqqCharm
            請(qǐng)問(wèn)博主,你提供的源碼,能用C++實(shí)現(xiàn)麼,我最近程序也需要跟博客文章交互,非常需要你的這個(gè)功能,能指點(diǎn)下麼,謝謝了  回復(fù)  更多評(píng)論
              
            # re: Live Spaces新舊空間遷移方法[未登錄](méi)
            2010-12-22 20:50 | Len
            @cqqCharm
            可以的,我后來(lái)又寫了一個(gè)python的,下個(gè)MetaWeblogAPI庫(kù)接口,照樣畫葫蘆就行  回復(fù)  更多評(píng)論
              

            <2025年5月>
            27282930123
            45678910
            11121314151617
            18192021222324
            25262728293031
            1234567

            常用鏈接

            留言簿(4)

            隨筆分類

            隨筆檔案

            搜索

            •  

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            亚洲国产天堂久久综合网站| 国产99久久精品一区二区| 人妻中文久久久久| 婷婷久久五月天| 国产产无码乱码精品久久鸭| 久久国产香蕉视频| 欧美午夜精品久久久久免费视 | 精品久久久一二三区| 热99RE久久精品这里都是精品免费| 久久狠狠爱亚洲综合影院| 亚洲综合久久综合激情久久| 亚洲国产精品一区二区三区久久| 精品国产乱码久久久久久郑州公司| 久久播电影网| 久久99国产精品久久99| 久久久久亚洲精品日久生情| 99久久精品九九亚洲精品| 久久人人爽人人爽人人AV| 天天做夜夜做久久做狠狠| 97久久综合精品久久久综合| 久久99热这里只频精品6| 国产精品VIDEOSSEX久久发布 | 久久久久国产精品人妻| 99久久婷婷国产一区二区| 久久久久99精品成人片欧美| 亚洲精品综合久久| 久久天天躁狠狠躁夜夜不卡| 狠狠色丁香婷婷久久综合不卡| 色狠狠久久AV五月综合| 亚洲精品无码久久久久sm| 亚洲天堂久久久| 2021国内精品久久久久久影院| 久久国产成人精品国产成人亚洲| 久久精品中文字幕久久| 久久久久四虎国产精品| 久久国产精品成人免费| 久久久久四虎国产精品| 精品一久久香蕉国产线看播放 | 国产激情久久久久影院小草| 一本久久久久久久| 久久精品亚洲精品国产欧美|