Windows Phone开发经验谈(13)-华为网盘直链API调用
这一次我来教大家如何用windows phone调用华为网盘直链API,来获取需要的文件下载地址,我写了一个简单的SDK方便大家调用...附件在下面。
一、那么什么是华为网盘直链?
直链,是华为网盘为站长、应用开发者、内容发布者等商业用户提供的一种收费的文件分享服务,支持图片展示、音视频文件在线播放和文件直接下载。用户通过调用华为网盘开放平台的API即可获取文件下载地址,下载者直接点击该地址链接即启动下载,页面不会跳转至华为网盘,下载极速,体验感出众。
二、直链有什么优势?
1、节约存储及带宽成本
2、缓解服务器峰值压力
3、支持音视频文件流畅播放
如果你是华为网盘用户可以登陆 http://login.dbank.com/loginauth.php?nsp_app=50601 既可获取直链的APPID,APPSECRET,这时候在你的华为网盘目录里面会多一个“我的应用”文件夹,在我的“应用文件”文件夹下面有一个PublicFiles文件夹,如下图所示,注意:以后所有的直链文件都要放在这个文件夹里。
我写了一个简单的调用程序,只要在改变APP类的构造函数,如下所示
/// <summary> /// Application 对象的构造函数。 /// </summary> public App() { // 未捕获的异常的全局处理程序。 UnhandledException += Application_UnhandledException; // 标准 Silverlight 初始化 InitializeComponent(); // 特定于电话的初始化 InitializePhoneApplication(); NSPConfig.Instance.AppID = "51345"; NSPConfig.Instance.AppSecret = "6ykOuxbeL68502d9FVRI766W1drADlwn"; // 调试时显示图形分析信息。 if (System.Diagnostics.Debugger.IsAttached) { // 显示当前帧速率计数器。 Application.Current.Host.Settings.EnableFrameRateCounter = true; // 显示在每个帧中重绘的应用程序区域。 //Application.Current.Host.Settings.EnableRedrawRegions = true; // 启用非生产分析可视化模式, // 该模式显示递交给 GPU 的包含彩色重叠区的页面区域。 //Application.Current.Host.Settings.EnableCacheVisualization = true; // 通过将应用程序的 PhoneApplicationService 对象的 UserIdleDetectionMode 属性 // 设置为 Disabled 来禁用应用程序空闲检测。 // 注意: 仅在调试模式下使用此设置。禁用用户空闲检测的应用程序在用户不使用电话时将继续运行 // 并且消耗电池电量。 PhoneApplicationService.Current.UserIdleDetectionMode = IdleDetectionMode.Disabled; } }
之后就可以在需要获取直链,调用代码如下
private void button1_Click(object sender, RoutedEventArgs e) { NSPClient client = new NSPClient(); client.OnHttpResponse += OnHttpResponse; string path = "/我的网盘/我的应用/PublicFiles/testlua.zip"; client.GetDirectUrl(path); } private void OnHttpResponse(NSPResponse response) { base.Dispatcher.BeginInvoke(() => { var param = JsonConvert.DeserializeObject(response.Content); switch (param["retcode"].ToString()) { case "0000": textBox1.Text = "下载地址是:" + param["url"].ToString(); ; break; case "0001": textBox1.Text = "PATH不合法"; break; case "0002": textBox1.Text = "该用户无权限"; break; case "0003": textBox1.Text = "流量已使用完"; break; case "0004": textBox1.Text = "文件不存在"; break; } //textBox1.Text = ; }); }
代码我已经打包了,下载地址:DBankDemo.rar
分类:
Windows Phone
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器