Возможно, отсутствует файл для Google .net API

Когда я пытаюсь вызвать .Execute() по запросу, меня просят найти ClientServiceRequest.cs на моем компьютере. Я предполагал, что это будет включено в пакет NuGet, но это не так, и я не могу найти ничего о том, как и где я должен его получить или во что он включен. Кто-нибудь сталкивался с чем-то подобным раньше?

Нужна доработка-

static void Main(string[] args)
{
   var ics = new BaseClientService.Initializer
   {
       ApplicationName = "appname",
       ApiKey = "[APIkey]",
   } as IClientService;
   var inst = new InstancesResource.GetRequest(ics, "project-name",
       "zone", "exampleinstance");
   var instresponse = inst.Execute();          //Error is on this line
   instresponse.Name = "geninstance";
   var instinsert = new InstancesResource.InsertRequest(ics, 
       instresponse, "projectname", "zone");
   instinsert.Execute();
}

Когда я впервые запускаю этот код, он дает мне окно для просмотра моего компьютера и хочет, чтобы я нашел "ClientServiceRequest.cs", я искал его, и он не был найден, поэтому я нажимаю "Отмена". в окне просмотра, а затем выдает исключение NullReferenceException в строке, упомянутой выше, и просто выдает исключение каждый раз, когда я запускаю код после этого.

Пожалуйста, скажите мне, если мой код глупый, это очень вероятно, поскольку я получил эту ошибку, когда собирался попробовать и протестировать ее.


person Ross Manson    schedule 11.09.2014    source источник
comment
какой пакет самородков схватил?   -  person DaImTo    schedule 11.09.2014
comment
Я установил Google.Apis и Google.Apis.Compute.v1, проблема возникает, когда я пытаюсь выполнить InstanceResources.GetRequest.   -  person Ross Manson    schedule 11.09.2014
comment
Можете ли вы опубликовать код?   -  person DaImTo    schedule 11.09.2014
comment
Можете ли вы опубликовать точную ошибку, которую вы получаете? Исходный код доступен здесь: code.google.com/p/google-api-dotnet-client/source/browse/Src/   -  person peleyal    schedule 11.09.2014
comment
Я только что отредактировал вопрос, чтобы дать больше информации. Если мне нужно скачать какой-либо исходный код, не могли бы вы указать наиболее разумное место для его размещения? Спасибо за вашу помощь!   -  person Ross Manson    schedule 11.09.2014
comment
Взгляните на нашу страницу OAuth 2.0 — developers.google.com/api. -client-library/dotnet/guide/aaa_oauth и часть авторизации в developers.google. .com/+/api. Вам придется использовать механизм авторизации.   -  person peleyal    schedule 11.09.2014
comment
Я предполагаю, что Visual Studio при запуске вашей программы в режиме отладки хочет получить доступ к исходному коду API Google. Попробуйте поставить галочку Just My Code в Visual Studio/Tools/Options/Debugging/General.   -  person Mike Meinz    schedule 11.09.2014
comment
@peleyal исправит ли это ошибку, которую я получаю?   -  person Ross Manson    schedule 12.09.2014
comment
Кроме того, если приложение предназначено только для управления экземплярами в одном конкретном проекте, но из нескольких мест, уверены ли вы, что мне нужен OAuth2? У меня сложилось впечатление, что OAuth2 нужен только в том случае, если вы управляете/получаете доступ к чужому проекту/информации   -  person Ross Manson    schedule 12.09.2014
comment
Спасибо! Знаете ли вы, есть ли способ программно ввести мои собственные учетные данные в OAuth 2.0?   -  person Ross Manson    schedule 16.09.2014


Ответы (1)


Спасибо peleyal за помощь, вопрос в значительной степени решен, код требует OAuth 2.0, и мне пришлось загрузить исходный код для .net API. Для записи-

var ics = new BaseClientService.Initializer
{
    ApplicationName = "appname",
    ApiKey = "[APIkey]",
} as IClientService;

не является гениальным ходом и, вероятно, даже не работает. Гораздо разумнее использовать-

var cs = new ComputeService(new BaseClientService.Initializer
    {
        ApplicationName = "appname",
        ApiKey = "[APIKEY]",
    });

как обычный человек, и это работает везде, где в коде вопроса используется ics.

Спасибо всем!

person Ross Manson    schedule 16.09.2014