© Skype Technologies S.A 2
保密条款:本文件为 Skype TechnologiesS.A.公司所有,全部内容严格保密。本档仅在保密基础上提供给被选中并符合条件的潜在
合作伙伴、客户或供货商,任何其他人一概不得使用。亦不得以任何形式加以复制、保存
、传播或备份。如收件人接受本档,即表示他或她同意,在终止与Skype Technologies
S.A.合作时,须将此档退还本公司。
他或她进一步同意,未经许可不得备份、传真、复制或传播所收到的、与本公司合作之业
务有关的任何文件。
本档不构成销售要约或招揽收购的要约。
© Skype Technologies S.A 3
1 本文档编撰目的
介绍 Skype API 并说明建置透过API与Skype沟通的应用程序和装置。
2 版本修订纪录
2.1API
修订版: 1.0.0.94
日期: 2004-10-21
发行说明:API公开释出
修订版: 1.1.0.61
日期: 2005-01-12
发行说明:
• 增加内容:协议 3
• 更新内容:API –现仅允许每个用户同时进行一项搜寻。在收到前一项搜寻
结果之前发出新的搜寻指令将导致错误72。
• 更新内容:API现仅允许每个用户同时进行一项搜寻。
• 更新内容:CHAT和CHATMESSAGE属性
• 错误修正:API 以前会显示前一位用户的通话和留言
• 错误修正:修正了使用协议 3 时出现的语法混乱
• 错误修正:SEARCH MESSAGES 不再回传 CHATMESSAGES值,
如果使用协议 2 的话
• 错误修正:API以前仅显示讯息的第一个字或全名
• 错误修正:访问控制列表(ACL)只记住一项程序的许可
• 错误修正:MC信息标识符无法回传
• 错误修正:与原有应用程序的链接问题
• 错误修正:修正了在两个 Windows 账户下同时使用 Skype
时出现的应用程序异常
• 错误修正:Win98/Me 中显示有许多动态链接库(dll)檔而不是各自的
百度api接口应用程序在使用 Skype
• 错误修正:API有时不回传'BUDDYSTATUS 1' 讯息
修订版: 1.2.0.11
日期: 2005-03-04
发行说明:
• 增加内容:协议 4
• 支持电话会议:召开电话会议、增加会议人数并能够获得参加会议者的
名单和有关通知
• 可查看SkypeOut余额
• 可拨打快速拨号单内的号码
• 声频装置变更通知
• 删除即时消息(IM)记录的通知
© Skype Technologies S.A 4
• 将语言与国家选项修改为按国际标准国家代码(ISO)名单而非以国家
名称回传(新做法:从协议 4 开始,语言与国家回传值之前将加上 ISO 代码
('GET USER echo123 COUNTRY' => 'USER echo123 COUNTRY ee
Estonia'))
• 关闭 Skype 的通知
• 支持 SkypeIn
•为了排除错误而将程序暂停一秒钟的登录机码
• 可增加用户句柄至 OPEN ADDAFRIEND
• CALL FAILUREREASON 1 – 文件文件记录错误,文件文件改用 "Misc error"
(其他类错误)显示
• 更新内容:如不到 CHATMESSAGE 属性,'SET CHATMESSAGE id'
指令将发出同一错误讯息,而不论信息标识符是否存在
• 更新内容:PSTN_STATUS 发出从网关回传的错误字符串
• 更新内容:HASCALLEQUIPMENT 回传值永远显示 TRUE
• 错误修正:#11648API:"AUDIO IN" 和"AUDIO OUT" 指令不能正确读取
双字节驱动程序命名
• 错误修正:#11473API:BTN_PRESSED E 指令失效,出现错误号码 71
无效机码
• 错误修正:#11472API:静音功能被启动
• 错误修正:#11473API:初始设定参加电话会议人数超过 4 人
• 错误修正:#11368API:IMHISTORYCHANGED 指令无效
• 错误修正:#11272API:MUTE 指令无效
• 错误修正:#11473API:无法使用快速拨号拨给 SkypeOut 联络人
• 错误修正:#11473API:空白CALL 指令无响应
• 错误修正:#11204 SKYPE 存取应用程序编程接口不能拒绝存取装置。
• 更新内容:#10567 经由电话应用程序编程接口上下自动扩展联络人名单组
• 错误修正:#11473API:用户更换声频装置时不发出通知
2.2 文件
修订版本 日期 修改人 备注/更新内容
1.0 2004-10-22 Taavet Hinrikus API公开释出
1.1 2005-01-12 Taavet Hinrikus Skype释出版本
1.2 2005-03-04 Taavet Hinrikus
Skype释出版本1.2,协议4,
开发工程师常见问题解
答项目等等
3 法定地位
© Skype Technologies S.A 5
本API文件档和SkypeAPI均为SkypeTechnologies S.A. 或其关联公司版权所有。有关
使用限制请查阅Skype 网站上登载的终端用户许可协议(EULA):
http: //www.skype/go/eula
4 简介
SkypeAPI可分为两个不同的部分。Skype电话API和Skype存取API:
• Skype 电话API是Skype用来存取装置的接口,其中包括但不限于USB
电话。装置
本身并不一定是硬件,但通常指的是硬件装置。这一API由Skype控制,而且API
的装置面可被视作驱动程序。Skype为控制方。该API在抽象事件的层次上操作,
例如,绿键被按下、耳机被拔掉、装置应响起铃声等。
与Skype电话API兼容的驱动程序,应在安装时中自动完成安装,这样Skype才会
知道其存在。可以建立一个
USB装置和相关驱动程序的数据库,使Skype能够侦测出新的装置并提示安装驱
动程序。
• Skype存取API是Skype发行给第三方第三方应用程序以存取Skype功能的
接口,例如,拨电话、发送文字讯息、索取Skype用户数据等。
第三方第三方应用程序在此API中为控制方。Skype可有选择性地逐一向应用程
式授予Skype存取API存取的权利。
5 一般API概述
API是根据在Skype与装置(或装置驱动器或在主机上执行的控制器)之间往返传递的简
单文字讯息建立起来的。
6 电话API
现已建置的电话API指令如下所列。
6.1 从装置发至Skype
• NAME deviceName
• PROTOCOL version
• AUDIO_IN deviceName
• AUDIO_OUT deviceName
• HOOK ON|OFF
• MUTE ON|OFF
• BTN_PRESSED (0-9,A-Z,#,*,UP,DOWN,YES,NO,SKYPE)
• BTN_RELEASED ...
6.2 从Skype发至装置
• MUTE ON|OFF
© Skype Technologies S.A 6
7 存取 API
目前有一些指令 (PROTOCOL, AUDIO_*) 可以用于Skype存取API和Skype电话API。
7.1 使用介绍
当客户端应用程序经由SkypeAPI开始使用Skype时,Skype则会将声频装置转换到用户
端经由API所报告的装置。当传输层连结中止或被切断时,Skype则会将声频
装置转换回到上一次选取的装置(Skype将定期检测传输层是否仍然
保持连结)。如果用户将声频装置以手调方式转换到其他装置(与运行中的客户端所报告
的装置比对),将来可能会经由API提供通知。
可能会要求终端用户确认允许第三方利用API来使用Skype。所有使用API执行的
操作都会被反映到正在计算机执行的Skype应用程序上。
请注意,API的所有时间与日期均采用UTC (协调世界时)。
7.2 支持多个客户端程序
多个客户端应用程序可以同时使用SkypeAPI。链接Skype时协议保持不变,以下情
况除外:建立通讯时,客户端应向系统中所有窗口广播窗口讯息('SkypeControlAPIDisc
over'),并用wParam参数指定本身窗口句柄。回应时,
Skype向指定的句柄发出'SkypeControlAPIAttach'的讯息,并在wParam参数中显
示出通话窗口句柄。
请注意,不应再采用'SkypeControlAPI' 指令轮询Skype,我们将在下一个版本介绍
一种新的网络探测(pinging )指令。
7.3 API的访问控制列表 (ACL)
每当一个应用程序试图使用SkypeAPI时,就会弹出一个要求用户确认的对话窗口—
无论是否允许该程序使用API。这一功能的主要作用在于保护用户的隐私和安全。
为保持操作简便、易于用户使用,我们向开发人员建议如下:
• 可执行程序 (.exe檔) 的命名应当通俗易懂,例如,"".
"",这一点非常重要,因为用户可以直接看到可执行文件案名称。
如果文件名含糊不清,用户就可能不允许该程序存取Skype。
• 签名 – 应用程序应以VeriSign的CodesSigning(代码签字)证书签署。
• NAME指令 – 应用程序应支持"NAME"指令并应将其名称发表。
7.4 SkypeOut
Skype Technologies S.A 7
7.4.1 SkypeOut 联络人名单
可以索取SkypeOut 联络人名单—这些数据现已成为主要名单的一部分,亦即
如果执行 "SEARCH FRIENDS" 指令,则会回传表内联络人名单号码。
如需得到目前用户的SkypeOut 联络人号码的详细数据,可执行
"GET USER <number> <fullname>"。
为获得SkypeOut 联络人,"GET USER <number>
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论