Я хочу создать приложение ASP.NET Google BigQuery С# с использованием OAuth2 и рамки .Net 4.5. Я запустил эти установки NuGet
Install-Package Google.Apis.Bigquery.v2 -Pre
Install-Package Google.Apis.Authentication.OAuth2 -Version 1.2.4696.27634
Install-Package Google.Apis -Pre
Install-Package Google.Apis.Auth -Pre
и я разместил соответствующие "данные" в файле с кодом "default.aspx.cs":
using System;
using System.Collections.Generic;
using System.IO;
using System.Threading;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Google.Apis.Auth.OAuth2;
using Google.Apis.Services;
using Google.Apis.Bigquery.v2;
using Google.Apis.Bigquery.v2.Data;
namespace BigQueryDemoApp
{
public partial class _Default : Page
{
protected void Page_Load(object sender, EventArgs e)
{
UserCredential credential;
FileStream stream;
using (stream = new FileStream(
Server.MapPath("~/client_secrets.json"),
FileMode.Open, FileAccess.Read)
)
{
GoogleWebAuthorizationBroker.Folder =
"Tasks.Auth.Store";
credential = GoogleWebAuthorizationBroker.
AuthorizeAsync(
GoogleClientSecrets.Load(stream).Secrets,
new[] { BigqueryService.Scope.Bigquery },
"user", CancellationToken.None).Result;
}
// Initialize the service.
var Service = new BigqueryService(
new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = "BigQueryDemo"
}
);
}
}
}
Я установил эту страницу как стартовую страницу проекта. Я выбрал "Установленное приложение", когда я построил файл идентификатора клиента в консоли Google.
APIS & auth -> Credentials -> CREATE NEW CLIENT ID
и я убедился, что добавил этот файл (client_secrets.json) в проводник решений в VS2013. В коде, я убедился, что я правильно сопоставлен с файлом client_secrets с Server.MapPath. Для машинного удостоверения я использовал этот код
<https://code.google.com/p/google-api-dotnet-client/wiki/OAuth2>
в качестве отправной точки. Когда я запускаю приложение, он возвращает страницу с ошибкой браузера, которая начинается с
Не удалось загрузить файл или сборку "Microsoft.Threading.Tasks.Extensions.Desktop, Version = 1.0.16.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a" или одна из его зависимостей. Система не может найти указанный файл.
и сбой в строке "credential =" . Я попытался добавить некоторые изображения фактической страницы с разбивкой браузера ASP.net, показывающей трассировку загрузки загрузки/трассировку стека/и т.д., Но похоже, что у меня нет прав учетной записи для этого. Когда я устанавливаю точку останова на строке "credential =" , а затем запускаю приложение через
DEBUG -> Start Debugging
в VS2013, страница останавливается в строке "credential =" и открывается сборщик файлов, ища файл
"GoogleClientSecrets.cs"
из каталога
"C:\код\google.com\Google-Апи-Dotnet-клиент\умолчанию\Tools\Google.Apis.Release\Bin\Debug\вывода\умолчанию\Src\GoogleApis.Auth\OAuth2\GoogleClientSecrets.cs"
который нигде не находится на диске. Используя трассировку загрузки сборки на сгенерированной странице ошибок ASP.net, я попытался выполнить поиск в предлагаемых файлах конфигурации, но ничего не получилось. В более общем плане, я попытался найти эту проблему в StackOverflow, и, хотя я действительно об этом упоминал, ни один из этих материалов не помог.