PHP网站集成Skype音视频通话遇BlobNotFound错误求助
看起来你遇到的这个BlobNotFound错误,是Skype SDK在加载通话相关资源时找不到对应存储文件导致的——毕竟聊天和附件功能正常,说明基础的SDK集成和权限是没问题的,问题出在通话功能依赖的特定资源上。我来给你梳理几个可能的解决方向:
1. 检查SDK版本是否已废弃
你当前使用的是v1版本的Skype SDK(https://swc.cdn.skype.com/sdk/v1/sdk.min.js),这个版本已经停止维护很久了,微软可能已经移除了该版本对应的通话资源文件,这是导致BlobNotFound的最常见原因。建议你替换为官方最新的Skype Web SDK引用(可通过Skype开发者后台确认最新的SDK地址),旧版本的资源路径已经失效了。
2. 确认通话权限是否开启
虽然聊天功能正常,但有可能你在Skype开发者平台创建应用时,只开启了即时消息权限,没有启用语音/视频通话的权限。登录你的Skype开发者账号,找到对应的应用配置,检查并开启通话相关的权限选项,保存后重新测试。
3. 验证Contact ID的正确性
确保data-contact-id="xyz"中的xyz是有效的Skype联系人ID或者已验证的用户ID。如果ID不正确,SDK在发起通话请求时可能会尝试访问不存在的用户资源,从而触发BlobNotFound错误。你可以用自己的Skype ID测试,确认是否能正常发起通话。
4. 切换到HTTPS环境测试
Skype的视频/语音通话功能对环境有要求,必须运行在HTTPS协议下——HTTP环境下不仅会限制资源加载,还会触发浏览器的安全限制,导致通话相关的请求失败。确保你的PHP网站部署在HTTPS环境中(可以用自签名证书先做本地测试)。
修改后的示例代码参考
假设你替换了最新的SDK引用,代码可以改成这样:
<!DOCTYPE html> <html> <head> <title>Skype Video & Chat Integration</title> </head> <body> <span class="skype-button bubble" data-contact-id="your-valid-skype-id"></span> <!-- 使用官方最新的SDK地址 --> <script src="https://最新的Skype SDK引用地址"></script> </body> </html>
另外,你可以打开浏览器的开发者工具(按F12),切换到Network面板,发起通话请求时查看具体哪个URL返回了404和BlobNotFound错误,这样能更精准地定位问题所在。
内容的提问来源于stack exchange,提问作者pratik chatterjee

