Windows Phone开发经验谈(13)华为网盘直链API调用

摘要:
Direct chain是华为网盘为网络管理员、应用程序开发人员、内容发布者和其他商业用户提供的文件共享服务。它支持图片显示、音频和视频文件在线播放和文件直接下载。

    这一次我来教大家如何用windows phone调用华为网盘直链API,来获取需要的文件下载地址,我写了一个简单的SDK方便大家调用...附件在下面。

    一、那么什么是华为网盘直链?

    直链,是华为网盘为站长、应用开发者、内容发布者等商业用户提供的一种收费的文件分享服务,支持图片展示、音视频文件在线播放和文件直接下载。用户通过调用华为网盘开放平台的API即可获取文件下载地址,下载者直接点击该地址链接即启动下载,页面不会跳转至华为网盘,下载极速,体验感出众。

    二、直链有什么优势?

    1、节约存储及带宽成本

    2、缓解服务器峰值压力

    3、支持音视频文件流畅播放

如果你是华为网盘用户可以登陆 http://login.dbank.com/loginauth.php?nsp_app=50601 既可获取直链的APPID,APPSECRET,这时候在你的华为网盘目录里面会多一个“我的应用”文件夹,在我的“应用文件”文件夹下面有一个PublicFiles文件夹,如下图所示,注意:以后所有的直链文件都要放在这个文件夹里

Windows Phone开发经验谈(13)华为网盘直链API调用第1张

我写了一个简单的调用程序,只要在改变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 = ;
                });
        }

Windows Phone开发经验谈(13)华为网盘直链API调用第2张

代码我已经打包了,下载地址:DBankDemo.rar

   

免责声明:文章转载自《Windows Phone开发经验谈(13)华为网盘直链API调用》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Linux套接字与虚拟文件系统(1):初始化和创建十大经典预测算法(一)----线性回归下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

双系统——在win10系统保存和查看Ubuntu系统中的文件——Linux Reader

我的电脑是双系统,在win10系统下安装了Ubuntu16.04, 之后我的Ubuntu系统发生故障进不去,然后里面有重要的文件想查看和保存,我自己主要通过linux Reader这个软件实现的, linux Reader的下载链接:https://www.diskinternals.com/linux-reader/ 官方下载速度超级慢,我同时也将安装包...

在Linux下如何使用磁带机

本文链接地址:http://www.ttlsa.com/html/1081.html 1.识别磁带机备份单元 RedHatLinux支持许多不同类型的磁带设备。 通常情况下, SCSI磁带设备将被命名为/dev/st0,/dev/st1或/dev/nst0,/dev/nst1等等 IDE磁带设备将被命名为/dev/ht0,/dev/ht1或/dev/nht...

《软件概要设计说明书》

软件概要设计说明书 1.引言 1.1编写目的 根据我们在上课找教室就的尴尬状况,我们团队决定开发课堂派派软件。每当去上课找教室时,会很找不到教室,导致迟到,或者走错教室,我顿感忧伤,实难想到跑了如此远的路,浪费如此多的时间,还影响到正常的学习,我的心被刺穿了,我想能不能有一款软件可以让我不再如此浪费宝贵时间,能不能有一款软件让我在百忙之中还可以查看到教室...

word的常用操作

using System;using System.Collections.Generic;using System.Text;using Microsoft.Office.Interop.Word;using System.IO;using System.Web;using System.Data;using System.Reflection;usin...

二、常用固件升级

1.什么是固件?        固件(Firmware)就是写入EPROM(电可擦写只读存储器)或EEPROM(电可擦可编程只读存储器)中的程序。这种设备内部保存的设备“驱动程序”,通过这种驱动程序,操作系统才能标准的实现机器的特定运行。同样,固件也是担任着一个系统最基础最底层工作的软件,这是硬件设备的灵魂,有一些设备除了固件,在没有任何的软件,因此,可以...

laravel学习:容器绑定与解析

1.在服务容器中注册类(bind) $this->app->bind('sender','MailSender');//$this->app成为服务容器。   2.从服务容器生成类(make) $sender = $this->app->make('sender');//从服务容器($this->app)创建一个send...