AggregateException when calling GetApplicationDefaultAsync()
Asked Answered
H

1

8

I am trying to run the sample Vision API project. I basically copied and pasted the code Program.cs into my application and executed it.

This line (which is line #36-#37 in Program.cs)

GoogleCredential credential = GoogleCredential.GetApplicationDefaultAsync().Result;

throws a System.AggregateException in mscorlib.dll with Additional information: One or more errors occurred..

By examining InnerException, I found out that the actual exception thrown is InvalidOperationException with Error deserializing JSON credential data..

Nonetheless, my cloud project is a basic project, with a Service Account, and Cloud Vision API enabled, nothing else. I checked that my environment variable was set to the JSON file by writing:

Console.WriteLine(Environment.GetEnvironmentVariable("GOOGLE_APPLICATION_CREDENTIALS"));

before the line above. The output of that (just before the crash) is (something like):

C:\Users\me\Documents\Projects\MyProject\MyProject-ba31aae6efa1.json

I checked the file, and it is the file that I got when I enabled my service account. Every property in it looks fine (i.e. project name is correct, path's correct, ...).

I installed the Google Cloud SDK and executed gcloud beta auth application-default login and authorized access to my cloud account.

Any ideas on what might be causing this?

Hanleigh answered 3/8, 2016 at 4:3 Comment(0)
H
5

By examining the detailed build log, I found out that the packages for the Google APIs had a dependency for Newtonsoft.Json version 9.0.1 (the latest at the time of this writing).

For whatever reason, the Google APIs packages have a dependency (which is installed along with them) on Newtonsoft.Json version 7.0.0.

The packages came with the wrong version!

Installing the latest version (9.0.1 in this case) fixes the issue.

Hanleigh answered 7/8, 2016 at 22:18 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.