VixinG
VixinG

Reputation: 1407

Google Cloud Datastore request returns Error 400 in my browser

After many trials and errors I managed to compile a piece of code which should return Entities' values from Google Datastore (it's SQL-like db). Code I used:

static async void Run()
{
    UserCredential credential;
    using (var stream = new FileStream(@"c:/fakepath/client_secrets.json", FileMode.Open, FileAccess.Read))
    {
        credential = await GoogleWebAuthorizationBroker.AuthorizeAsync(
            GoogleClientSecrets.Load(stream).Secrets,
            new[] { DatastoreService.Scope.Datastore }, "user", CancellationToken.None);
    }

    // Create the service.
    var service = new DatastoreService(new BaseClientService.Initializer
    {
        ApplicationName = "My Project",
        HttpClientInitializer = credential
    });

    // Run the request.
    Console.WriteLine("Executing a list request...");

    var request = new LookupRequest();
    var key = new Google.Apis.Datastore.v1beta2.Data.Key();
    key.Path = new List<KeyPathElement> { new KeyPathElement() { Kind = "book", Name = "title42" } };
    request.Keys = new List<Key>() { key };

    var lookup = service.Datasets.Lookup(request, "project-name-192"); //yea
    var response = lookup.Execute();

    // Display the results.
    if (response.Found != null)
    {
        foreach (var x in response.Found)
        {
            foreach (var y in x.Entity.Properties)
            {
                Console.WriteLine(y.Key.FirstOrDefault() + " " + y.Value);
            }
        }
    }
}

Error I get: What am I missing? So, what am I missing? I did just like in example on docs.

Upvotes: 0

Views: 370

Answers (1)

GAEfan
GAEfan

Reputation: 11360

You need to go to:

https://console.developers.google.com/project/apps~{your-app-name}/apiui/credential

and use http://localhost:63324/authorize/ as the redirect url.

Remember to change it to your production url when you deploy

Upvotes: 2

Related Questions