求助:如何让停止维护的Telly Visuals重新适配PushBullet?
修复Telly Visuals适配PushBullet API的实操步骤
1. 明确PushBullet API的核心变化点
- 对照PushBullet官方文档,锁定新旧API的关键差异:
- 认证方式:当前v2 API要求用
Bearer Token放在请求头,而非旧版可能采用的URL参数拼接或Basic Auth - API端点:旧版
/api/pushes已更新为/v2/pushes - 请求格式:从
x-www-form-urlencoded表单格式改为JSON格式,且必须设置Content-Type: application/json请求头
- 认证方式:当前v2 API要求用
2. 反编译定位Telly Visuals的API调用代码
- 这类Windows桌面应用大概率基于.NET框架开发,用dnSpy工具打开Telly Visuals的exe/dll文件
- 搜索
pushbullet、access_token、api.pushbullet.com等关键词,定位到处理PushBullet请求的代码块,重点关注:- 访问令牌的使用逻辑
- HTTP请求的构造函数(URL、请求头、请求体)
3. 修改API调用逻辑
- 替换认证方式:将旧代码中直接拼接令牌到URL或Basic Auth的写法,改为添加
Authorization请求头:// 旧代码示例(可能类似) request.QueryString.Add("access_token", userToken); // 修改后 request.Headers.Add("Authorization", $"Bearer {你的PushBullet访问令牌}"); - 更新API端点:把请求URL从
https://api.pushbullet.com/api/pushes替换为https://api.pushbullet.com/v2/pushes - 调整请求体格式:将原表单格式的请求数据改为JSON字符串,同时更新
Content-Type:// 旧代码示例 var postData = "type=note&title=测试&body=内容"; request.ContentType = "application/x-www-form-urlencoded"; // 修改后 var postData = "{\"type\":\"note\",\"title\":\"测试\",\"body\":\"内容\"}"; request.ContentType = "application/json";
4. 重新打包并测试
- 在dnSpy中直接保存修改后的程序集(exe/dll),替换原应用目录下的对应文件
- 运行Telly Visuals测试推送功能,若失败:
- 用Fiddler抓包查看请求状态码(401=认证失败,404=端点错误,400=格式错误)
- 回到dnSpy调整代码后重复测试
备选方案(若反编译修改难度过高)
- 用AutoHotkey或PowerShell编写轻量脚本:模拟Telly Visuals的核心推送功能,通过调用PushBullet API实现,绑定快捷键触发,无需修改旧应用
内容的提问来源于stack exchange,提问作者Thedj Antz
相关产品推荐
相关产品推荐

