如何使用.Net Core的Box API?

时间:2016-09-26 19:32:51

标签: asp.net-core .net-core box coreclr

我正在使用ASP.Net Core平台构建Web.API应用程序。我的应用程序需要使用Box进行身份验证,然后从box服务器下载该文件。 我看到Box有经典的.Net here的Nuget包但是我找不到ASP.Net Core的任何兼容的Box Nuget包吗?

可能他们尚未从BOX团队获得。那么如何使用“Build on Box Platform”和.Net Core验证和下载文件?

我假设我必须使用HttpClient

2 个答案:

答案 0 :(得分:0)

看起来任何人都没有构建特定于盒子的.NET Core软件包。不过,你应该可以。就像你猜的那样,你需要HttpClient。在核心,您需要为它添加Microsoft.Net.Http.Client。除此之外,您还需要进行身份验证。幸运的是,Box使用OAuth,它实际上被广泛使用。 Microsoft.AspNetCore.Authentication.OAuth应该为您提供所需的一切。 This linkedin tutorial应该为你提供一个如何做到这一点的良好起点。除此之外,你真的不需要第三方库来实现这一目标,所以你应该全力以赴。

答案 1 :(得分:0)

正如你在GitHub上看到的,它支持Windows 8,Windows Phone 8和8.1,所以很有可能,它已经可以在.NET Core上运行了。没有netstandard-1.xnetcoreapp1.x目标,这意味着您无法将其添加到project.json,而不会出现“不支持平台”错误。

但是你可以做这样的事情来伪造nuget来安装Windows 8和Windows Phone 8.x库并查看它是否运行。

"framework":
{
    "netstandard1.6" : 
    {
         "imports": [ "portable-net45+wp8+wpa81" ],
         "dependencies": 
         {
             "Box.V2" : "2.12.1"
         }
    }
}

如果它是您的主项目(Web项目或控制台应用程序),或者使用netcoreapp1.0。然后尝试使用它,看看它是否有效。

使用imports时要小心,因为它会覆盖NuGet目标框架检查,上面的内容将允许您安装任何Windows Phone 8或8.1库,甚至是那些具有Windows Phone UI控件的XAML库。这些当然不会奏效。

只有不使用任何Windows或Windows Phone / Mobile API(如GPS等)的Windows 8和Windows Phone / Mobile库才有机会在.NET Core中运行。好的候选者是只能通过在Windows Phone / Mobile上运行的HttpClient或压缩库连接的API。

除上述所有内容外:从GitHub获取源代码,将其放入.NET Core类库(带* .xproj),并定位netcoreapp1.0netlibrary1.6(或更低)并查看如果它编译。如果是,请创建一个nuget包并将其包含在您的项目中。