msnSDK訊息控制開發套件 同時支援MSN/Yahoo即時通 訊息雙向傳遞
ASP 的範例我們使用ADO介面來處理,其他語言也可以這樣做,可參考文件(文末提供下載處),另外;下面的程式碼重要的部份只有參數不同,其他大同小異,可參考紅字部分
ps.也請參考 msnSDK的使用流程
(抱歉!太久沒碰ASP,不過基本上;下面這個範例可正確發送MSN訊息)
<%
'--
'---STEP1 取得API 使用權限
'--
on error resume next
Set xmlHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP")
'如果遇到中文,請使用Server.URLEncode 來處理
'比如 : ...&pname=Server.URLEncode("中文姓名")&...
URL= "http://59.120.234.84:8082/msnSDK/msn_cgi-win32?FUNC=GETSPID&USERID=apiblogt6&PASSWD=msnsdkt&RETTYPE=ADO"
xmlHTTP.open "GET", URL, false
xmlHTTP.send()
if err.description <>"" then
Set xmlHTTP= Nothing
response.write "無法連接遠端伺服器," & err.description
response.end
end if
'--
'將得到的訊息存入 myRS_....xml
'--
set myStream = Server.CreateObject("ADODB.Stream")
myStream.Open
myStream.Charset = "big5"
myStream.WriteText xmlHTTP.ResponseText
myStream.Position = 0
'---
'防止重複的process 存取xml
'---
Febber = Split("1,2,3,4,5,6,7,8,9,0,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z", ",")
For I = 0 To 3
Randomize
keychar = keychar & Febber(Int((62 * Rnd) + 1) - 1)
next
myXMLfile = Server.Mappath("./myRS_" & keychar & ".xml")
myStream.SaveToFile myXMLfile
myStream.Close
'--
'取得myRS_$random.xml 的結果
'--
set rs = server.createobject("adodb.recordset")
rs.Open myXMLfile
Do While Not (rs.EOF)
if (rs(0)=1) then
spid=rs(1)
response.write "取得SPID=" & rs(1) & "
"
else
response.write "認證失敗=" & rs(0)& "," & rs(1) & "
"
response.end
end if
rs.MoveNext
Loop
rs.Close
'--
'刪除暫存檔
'--
set FSO = Server.Createobject("Scripting.FileSystemObject")
Fso.DeleteFile myXMLfile
'--
'釋放使用的物件
'--
set FSO = Nothing
Set myStream = Nothing
Set rs = Nothing
Set xmlHTTP= Nothing
'--
'--
'---STEP2 邀請聯絡人
'--
Set xmlHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP")
'如果遇到中文,請使用Server.URLEncode 來處理
'比如 : ...&pname=Server.URLEncode("中文姓名")&...
'請注意!
'邀請聯絡人 XXXXXXXX@hotmail.com 請填正確的聯絡人,執行此SUB 後
'msnSDK 會邀請這個人加入聯絡人,必須加入聯絡人後才能發送訊息
'session 由GETSPID 所取得的 spid
URL= "http://59.120.234.84:8082/msnSDK/msn_cgi-win32?FUNC=REGISTER&UIDS=XXXXXXXX@hotmail.com&SESSION=" & spid & "&RETTYPE=ADO"
xmlHTTP.open "GET", URL, false
xmlHTTP.send()
if err.description <>"" then
Set xmlHTTP= Nothing
response.write "無法連接遠端伺服器," & err.description
response.end
end if
'--
'將得到的訊息存入 myRS_....xml
'--
set myStream = Server.CreateObject("ADODB.Stream")
myStream.Open
myStream.Charset = "big5"
myStream.WriteText xmlHTTP.ResponseText
myStream.Position = 0
'---
'防止重複的process 存取xml
'---
Febber = Split("1,2,3,4,5,6,7,8,9,0,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z", ",")
For I = 0 To 3
Randomize
keychar = keychar & Febber(Int((62 * Rnd) + 1) - 1)
next
myXMLfile = Server.Mappath("./myRS_" & keychar & ".xml")
myStream.SaveToFile myXMLfile
myStream.Close
'--
'取得myRS_$random.xml 的結果
'--
set rs = server.createobject("adodb.recordset")
rs.Open myXMLfile
Do While Not (rs.EOF)
response.write "邀請聯絡人回應=" & rs(0) & "," & rs(1) & "," & rs(2) & "
"
rs.MoveNext
Loop
rs.Close
'--
'刪除暫存檔
'--
set FSO = Server.Createobject("Scripting.FileSystemObject")
Fso.DeleteFile myXMLfile
'--
'釋放使用的物件
'--
set FSO = Nothing
Set myStream = Nothing
Set rs = Nothing
Set xmlHTTP= Nothing
'--
'--
'---STEP3 發送訊息
'--
Set xmlHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP")
'如果遇到中文,請使用Server.URLEncode 來處理
'比如 : ...&pname=Server.URLEncode("中文姓名")&...
'請注意!
'傳送訊息給 XXXXXXXX@hotmail.com 請填正確的聯絡人,執行此SUB 後
'msnSDK 會邀請這個人加入聯絡人,必須加入聯絡人後且這個人在線上才能
'發送訊息,如要傳離線訊息請參考文件
'session 由GETSPID 所取得的 spid
msg=Server.URLEncode("測試")
URL= "http://59.120.234.84:8082/msnSDK/msn_cgi-win32?UIDS=XXXXXXXX@hotmail.com&MSG=" & msg &"&flags=0&FUNC=SENDMSG&ENCODING=BIG5&RETTYPE=ADO&SESSION=" & spid
xmlHTTP.open "GET", URL, false
xmlHTTP.send()
if err.description <>"" then
Set xmlHTTP= Nothing
response.write "無法連接遠端伺服器," & err.description
response.end
end if
'--
'將得到的訊息存入 myRS_....xml
'--
set myStream = Server.CreateObject("ADODB.Stream")
myStream.Open
myStream.Charset = "big5"
myStream.WriteText xmlHTTP.ResponseText
myStream.Position = 0
'---
'防止重複的process 存取xml
'---
Febber = Split("1,2,3,4,5,6,7,8,9,0,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z", ",")
For I = 0 To 3
Randomize
keychar = keychar & Febber(Int((62 * Rnd) + 1) - 1)
next
myXMLfile = Server.Mappath("./myRS_" & keychar & ".xml")
myStream.SaveToFile myXMLfile
myStream.Close
'--
'取得myRS_$random.xml 的結果
'--
set rs = server.createobject("adodb.recordset")
rs.Open myXMLfile
Do While Not (rs.EOF)
response.write "傳送訊息回應=" & rs(0) & "," & rs(1) & "," & rs(2) & "
"
rs.MoveNext
Loop
rs.Close
'--
'刪除暫存檔
'--
set FSO = Server.Createobject("Scripting.FileSystemObject")
Fso.DeleteFile myXMLfile
'--
'釋放使用的物件
'--
set FSO = Nothing
Set myStream = Nothing
Set rs = Nothing
Set xmlHTTP= Nothing
'--
%>
其他更詳細的參數可以參考msnSDK訊息控制開發套件程式介面說明書
相关推荐
/237 第五章 Window Subclassing和Window Superclassing /325 第六章 讯息拦截(Hooks) /387 第七章 档案的拖放(Drag-and-Drop)技术 /499 第八章 按键的处理 /541 第九章 版本控制(Version Control) /593
"用Winsock 来做到点对点的Client Server 讯息互换的程式"这个标题揭示了我们要探讨的核心技术——使用Winsock API来实现P2P(点对点)通信。Winsock是Windows操作系统提供的一个接口,允许程序员编写TCP/IP协议的...
ELMAH 是一套真正外掛式的解決方案,意味著不需要重新編譯或重新部署,就可以動態加入一個執行中的ASP.NET Web 應用程式。 ELMAH 是一套真正外挂式的解决方案,意味着不需要重新编译或重新部署,就可以动态加入一个...
标题中的“类似MSN Messages的POP讯息框”指的是在计算机通信和网络应用中,一种模拟微软MSN Messenger(现已被Skype取代)消息提示效果的POP(Point of Presence)消息框。这种消息框通常用于实现即时通讯软件或者...
3. **数据库交互**:通常ASP会与数据库(如Access、SQL Server)结合,学习如何使用ADO(ActiveX Data Objects)进行数据查询、插入、更新和删除操作。 4. **网页模板和布局**:HTML和CSS的使用,以及如何通过ASP...
它执行时,会先扫描注册表,搜集已安装程式的讯息,包含部份未于 " 新增/移除程式" 所显示的程式。它执行后,会分类列出所有安装程式、隐藏程式、Windows 更新程式等。使用者亦可执行不同检视动作,浏览程式简易资料...
这个应用程式使用android wifi P2P在使用者之间传送讯息 在这一点上,团体还不支持没有文件传输支持,但我也期待着对此进行努力。 脚步: 安装在2台设备中 按“发现设备”(在两个设备上) 等待查看设备列表 点击...
"计算机软件-商业源码-类似MSN Messages的弹出讯息框.zip"是一个包含源代码的压缩包,它提供了一个类似于微软MSN Messenger(现已被Skype取代)的弹出消息框功能。这个资源对于那些想要开发或改进即时通讯软件的...
达到伺服器端与客户端的互动式、双向讯息交换,包含多点触碰讯息即时交换并呈现、画面即时同步等外,并提供一系列high level 应用函式库,如画面编辑等,供软体开发工程师等快速布署android 相关应用程式。...
Android应用程式,可透过简讯讯息远端控制手机。 将应用程序安装在应受到控制的设备上,并从任何Messenger发送控制命令。 兼容的android版本: 4.1(Jelly Bean)和更高版本 直接从或获取安装程序。 特征 指定可...
第一篇撰写第一个JavaScript程式 第二篇让网页显示日期和时间 第三篇设计动态网页讯息 第四篇制作跑马灯及广告轮播效果 第五篇制作动态网页背景、文字特效 第六篇超连结各种特效 第七篇记录浏览者的资讯
在ASP(Active Server Pages)开发中,连接MS Access数据库时可能会遇到各种错误,这些错误通常是由于权限不足、SQL语句错误、数据集操作不当等原因引起的。以下是对这些常见错误的详细解析和解决策略: 1. **无法...
黑暗消息 讯息应用程式的深色模式(iOS 10) 兼容性 支持iOS 10 需要越狱的iPhone,iPad或iPod Touch。 可用性 可从Cydia的BigBoss存储库免费获得DarkMessages。
协助让 World Client 更好使用的客户端程式。它可以 1.常驻在系统匣。 2.定时去栓查指定 URL 的 World Client ,是否有新信件。 3.自动帮你键入帐号密码。 4.如果有新信件,可以直接在 ComAgent 读取,不必再麻煩的 ...
"电信设备-具有自动发出讯息功能的移动通讯装置以及自动发出讯息的方法"这个主题聚焦于移动设备的一项高级特性——自动发送消息功能。这项技术对于日常生活和商业运营具有广泛的应用价值,例如紧急通知、定时提醒、...
对MFC六大关键技术的模拟(MFC的类别层次,MFC程式的初始化过程,RTII,动态生成,机制,讯息映射,命令绕行) 3。对Visual C++整合开发环境的介绍。 4。对MFC三大巨集的详细分析。 5。MFC的层次结构和MFC的骨干程式...
开发者不需要更改任何的原代码,和不需要程式编制的经验使用WinLicense。 WinLicense使用SecureEngine®的保护技术。它能够以最高的优先等级运行,这些保护技巧是从来都没在电脑防御技术领域出现过,使它最大...
开发者不需要更改任何的原代码,和不需要程式编制的经验使用WinLicense。 WinLicense使用SecureEngine®的保护技术。它能够以最高的优先等级运行,这些保护技巧是从来都没在电脑防御技术领域出现过,使它最大...
标题“人工智能时代‘媒介即讯息’再审视”与描述“人工智能时代‘媒介即讯息’再审视”表明了本文的主旨是针对传播学经典理论“媒介即讯息”在当前人工智能时代背景下的重新审视。该理论由加拿大传播学家麦克卢汉...