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

       

  • 相关阅读:
    单例模式
    HashSet、LinkedHashSet、SortedSet、TreeSet
    ArrayList、LinkedList、CopyOnWriteArrayList
    HashMap、Hashtable、LinkedHashMap
    andrew ng machine learning week8 非监督学习
    andrew ng machine learning week7 支持向量机
    andrew ng machine learning week6 机器学习算法理论
    andrew ng machine learning week5 神经网络
    andrew ng machine learning week4 神经网络
    vue组件监听属性变化watch方法报[Vue warn]: Method "watch" has type "object" in the component definition. Did you reference the function correctly?
  • 原文地址:https://www.cnblogs.com/cracker/p/windowsphone_dbank.html
Copyright © 2011-2022 走看看