2016-11-25 9 views
3

Ich versuche GameService API zu verwenden, um ein Spiel AchievementDefinitions aufzulisten, aber immer zurück [500] Keine individuellen Fehler. Ich verwende ServiceAccountCredential zur Authentifizierung.Google Api GameService Keine individuellen Fehler - .NET

Ich habe versucht, zwei Möglichkeiten

string credPath = @"C:\Downloads\game-bd201016b65f.json"; 
var json = File.ReadAllText(credPath); 
var cr = JsonConvert.DeserializeObject<dynamic>(json); 

var xCred = new ServiceAccountCredential(new ServiceAccountCredential.Initializer(cr.client_email.ToString()) 
{ 
    Scopes = new[] { GamesService.Scope.Games } 
}.FromPrivateKey(cr.private_key.ToString())); 

var initializer = new BaseClientService.Initializer() 
{ 
    HttpClientInitializer = xCred    
}; 

GamesService gamesService = new GamesService(initializer); 
var a = gamesService.AchievementDefinitions.List().Execute(); 

und

GoogleCredential credential; 
using (var stream = new FileStream(@"C:\game-bd201016b65f.json", FileMode.Open, FileAccess.Read, FileShare.Read)) 
{ 
    credential = GoogleCredential.FromStream(stream); 
} 

if (credential.IsCreateScopedRequired) 
{ 
    credential = credential.CreateScoped(GamesService.Scope.Games); 
} 

var initializer = new BaseClientService.Initializer() 
{ 
    HttpClientInitializer = credential    
}; 

Kann ein API-Fehler sein auth wenn in .NET läuft?

+0

Können Sie die vollständige Fehlermeldung posten. Woher weißt du, dass die API Service-Accounts unterstützt, wenn du sie vorautorisieren kannst? – DaImTo

+0

Danke für die Antwort @DaImTo. GameService wird nur verwendet, um Benutzerinformationen zu erhalten. Um die Spielinformationen zu erhalten, muss GameService Managment API verwendet werden. – mvnerisantos

Antwort

1

GameService API wird verwendet, um Benutzer authentifizierte Informationen zu erhalten und was ich brauche, ist das Spiel Informationen zu bekommen, um die Spielinformationen benötigen GameService Management API zu verwenden. Mit der GameService Management API kann ich mich mit ServiceAccountCredential authentifizieren und die Spielinformationen abrufen.