Как использовать Box API с.Net Core?

Я строю приложение Web.API, используя ASP.Net Core Платформа. Мое приложение должно пройти проверку подлинности с помощью Box, а затем загрузить файл с сервера Box. Я вижу, у Box есть пакеты Nuget для классического.Net здесь. Однако я не смог найти совместимых пакетов Box Nuget для ASP.Net Core?

Может быть, они еще не доступны от команды BOX. Тогда как мне проверить подлинность и загрузить файл, используя "Build on Box Platform" и.Net Core?

Я предполагаю, что я должен использовать HttpClient

2 ответа

Как вы можете видеть на GitHub, он поддерживает Windows 8, Windows Phone 8 и 8.1, поэтому есть вероятность, что он уже может работать и на.NET Core. Здесь нет netstandard-1.x или же netcoreapp1.x target, что означает, что вы не можете просто добавить его в project.json без получения ошибки "Платформа не поддерживается".

Но вы можете сделать что-то подобное, чтобы подделать nuget для установки библиотек Windows 8 и Windows Phone 8.x и проверить, работает ли он.

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

Альтернативно использовать netcoreapp1.0 если это ваш основной проект (веб-проект или консольное приложение). Затем попробуйте использовать его и посмотреть, работает ли он или нет.

Просто будьте осторожны при использовании importsпоскольку он отменяет проверку целевой структуры NuGet, а приведенное выше позволит вам установить любую библиотеку Windows Phone 8 или 8.1, даже ту, в которой есть элементы управления пользовательского интерфейса Windows Phone для XAML. Это, конечно, не сработает.

Только Windows 8 и библиотеки Windows Phone/Mobile, которые не используют Windows или Windows Phone/Mobile API (например, GPS и т. Д.), Могут иметь возможность работать в.NET Core. Хорошими кандидатами являются API, которые подключаются только через HttpClient или библиотеки сжатия, которые работают на Windows Phone/Mobile.

В качестве альтернативы всему вышеперечисленному: возьмите исходный код из GitHub, поместите его в библиотеку базовых классов.NET (с *.xproj) и выберите целевой объект. netcoreapp1.0 а также netlibrary1.6 (или ниже) и посмотреть, если он компилируется. Если это так, создайте пакет nuget и включите его в свой проект.

Похоже, что никто не создал пакет для.NET Core для конкретной коробки. Тем не менее, вы должны быть в состоянии. Как вы уже догадались, вам понадобится HttpClient. В основном вам нужно добавить Microsoft.Net.Http.Client для него. Кроме того, вам нужно будет заставить работать аутентификацию. К счастью, Box использует OAuth, который действительно широко используется. Microsoft.AspNetCore.Authentication.OAuth должен предоставить вам все необходимое для этого. Этот урок по созданию кода должен дать вам хорошую отправную точку в том, как это сделать. Кроме того, вам не нужна сторонняя библиотека, чтобы все это работало, поэтому вы должны быть готовы.

Другие вопросы по тегам