2. 3. 2009 Programátorské večery Tomáš Herceg Microsoft Student Partner http://www.vbnet.cz
Představení služeb Praktické ukázky Messenger (Presence API) Search Writer (MetaWeblog API) Writer (Pluginy)
Admin Center Agents Alerts Azure Contacts FeedSync Live Framework Mesh Messenger Search Silverlight Streaming Spaces Virtual Earth Web gadgets Windows Live ID Writer
http://download.live.com Windows Live Messenger Windows Live Writer Windows Live Photo Gallery Windows Live Mail Windows Live Toolbar
Activity API Hry pro více uživatelů Presence API Zjištění stavu uživatelů IM Control Webový Messenger klient Windows Live Agents Automatická odpovídátka
Uživatel musí službu povolit http://settings.messenger.live.com/applications/ websignup.aspx?returnurl={0}&privacyurl={1} {0} absolutní URL cílové stránky {1} absolutní URL stránky s Privacy Statementem Po povolení služby uživatelem návrat na {0} s parametry v URL Result Accepted, Declined, NoPrivacyUrl ID unikátní ID uživatele (jen při stavu Accepted)
Dva způsoby zjištění stavu Ikona (jen obrázek) http://messenger.services.live.com/users/{0}/presenceimage/ {0} unikátní ID uživatele JSON (více informací) http://messenger.services.live.com/users/{0}/presence/ {0} unikátní ID uživatele Deserializace například pomocí System.Web.Script.Serialization.JavaScriptSerializer
{ } "icon": { "url": "http://www.wlmessenger.net/static/img/presence/online.gif", "height": 16, "width": 16 }, "statustext": "Online", "status": "Online", "displayname": "Tom\u00e1\u0161 Herceg", "id": "**************@apps.messenger.live.com", "result": { "code": 200, "response": "OK" }
Windows Live Messenger Presence API
Několik možností XML JSON SOAP (nejjednodušší v.netu) Různé zdroje obsahu Webové stránky Obrázky Zprávy Telefonní seznam...
Je třeba získat AppID http://search.live.com/developers/createapp.aspx Přidat do projektu Web Reference http://api.search.live.net/search.wsdl?appid={0} {0} přidělené AppId Vytvořit instanci třídy LiveSearchService Vytvořit SearchRequest Získat SearchResponse a projít kolekci Results
Problémy SOAP si nerozumí s dědičností omezení na konkrétní doménu či web je specifikováno v samotném dotazu Další možnosti zvýrazňování nalezených výskytů Začátek zvýraznění sekce char &HE000 Konec zvýrazněné sekce char &HE001 stránkování vlastnosti Count, Offset, CountSpecified a OffsetSpecified
Windows Live Search API
WordPress API Movable Type API MetaWeblog API Blogger API XML-RPC
Založeno na XML-RPC Jednoduché Podporuje více blogů na jednom serveru více kategorií u článků ukládání obrázků a souborů ke článkům Relativně jednoduché na implementaci.net Framework potřeba knihovna pro XML-RPC http://www.xml-rpc.net
<?xml version="1.0"?> <methodcall> <methodname>metaweblog.getpost</methodname> <params> <param> <value> <i4>1829</i4> </value> </param> <param> <value>bullmancuso</value> </param> <param> <value> <base64>bm93yxk=</base64> </value> </param> </params> </methodcall>
<?xml version="1.0"?> <methodresponse> <params> <param> <value> <struct> <member> <name>title</name> <value>my article</value> </member> <member> <name>description</name> <value>article text.</value> </member> <member> <name>datecreated</name> <value> <datetime.iso8601> 20030729T10:59:48 </datetime.iso8601> </value> </member> <member> <name>link</name> <value> http://www.server.com/1829.aspx </value> </member> <member> <name>categories</name> <value> <array> <data> <value>food</value> <value>life</value> </data> </array> </value> </member> <member> <name>postid</name> <value> <i4>1829</i4> </value> </member> </struct> </value> </param> </params> </methodresponse>
Název procedury blogger.getusersblogs metaweblog.getcategories metaweblog.newpost metaweblog.editpost blogger.deletepost metaweblog.getrecentposts metaweblog.getpost metaweblog.newmediaobject Co procedura dělá Vrátí seznam blogů pro daného uživatele Vrátí seznam kategorií v daném blogu Přidá do blogu nový článek a vrátí jeho id Upraví daný článek na blogu Smaže daný článek z blogu Vrátí posledních několik článků z blogu Vrátí článek s daným id Nahraje do blogu soubor a vrátí jeho adresu
Problémy přílohy v rámci blogu, ne ke konkrétnímu článku nemožnost smazání přílohy hesla se posílají nešifrovaně (nutné použít HTTPS!) Výhody umí víceméně vše, co je potřeba Movable Type a WordPress API špatně zdokumentované, nepřináší tolik nového především není jasné, kdy se která metoda používá
Popis publikačních rozhraní webu Obecný standard Přidává se do stránky do sekce head <link rel="edituri" type="application/rsd+xml" title="rsd" href="http://www.server.com/web.rsd" /> XML soubor s popisem podporovaných protokolů a adresami příslušných služeb
MetaWeblog API univerzální, různí klienti Provider Customization API specialita WLW přizpůsobení GUI Live Writeru šablona článku (uživatel píše přímo do webu ) přesná definice funkčnosti webu a chování klienta použité kódování jedna kategorie / více kategorií vynucení XHTML...
Další informace o webu pro Live Writer Skutečný vzhled článku na webu Přiřazování kategorií Odkaz do administrace Přidává se do HTML do sekce head <link rel="wlwmanifest" type="application/wlwmanifest+xml" href="http://www.server.com/wlw.xml" title="wlw manifest" />
MetaWeblog API a Provider Customization API
Aplikace napsaná v.net Frameworku Typy pluginů ContentSource Vložení HTML šablony Zpracování obsahu schránky SmartContentSource Přiložení souborů k příspěvku
Visual Studio 2005 nebo 2008 Projekt Class Library Reference na knihovny C:\Program Files\Windows Live\Writer\WindowsLive.Writer.Api.dll volitelně System.Windows.Forms Ikona pluginu (16x16) BuildAction = EmbeddedResource
Třída pluginu dědí od třídy ContentSource Atributy WriterPlugin, InsertableContentSource Metoda CreateContent Umístění výsledné DLL knihovny podsložka Plugins v adresáři Live Writeru
Jednoduchý plugin pro Windows Live Writer
Představení služeb Praktické ukázky Messenger (Presence API) Search Writer (MetaWeblog API) Writer (Pluginy)
http://www.vbnet.cz/serial--4-metaweblog-api.aspx http://www.aspnet.cz/articles/160-metaweblog-api.aspx http://dev.live.com/writer http://www.xml-rpc.net/ Videozáznam a příklady z této přednášky http://www.vbnet.cz/
2. 3. 2009 Programátorské večery Tomáš Herceg Microsoft Student Partner http://www.vbnet.cz