zoukankan      html  css  js  c++  java
  • 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

       

  • 相关阅读:
    用numpy实现CNN卷积神经网络
    用numpy实现BP神经网络
    扩展域并查集学习笔记
    My Blog问卷
    二叉搜索树(BST)学习笔记
    我的代码风格
    substr函数学习
    memset与fill的区别
    快读快写
    洛谷题解 CF777A 【Shell Game】
  • 原文地址:https://www.cnblogs.com/cracker/p/windowsphone_dbank.html
Copyright © 2011-2022 走看看