2016-11-25 3 views
3

Я пытаюсь использовать GameService API для перечисления игры AchievementDefinitions, но всегда возвращаю [500] Нет отдельных ошибок. Я использую ServiceAccountCredential для аутентификации.Google Api GameService Нет индивидуальных ошибок. NET

Я попробовал два способа AUTH

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(); 

и

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    
}; 

Может быть ошибка API при работе в .NET?

+0

Можете ли вы разместить полное сообщение об ошибке. Откуда вы знаете, что api поддерживает учетные записи служб, вы могли предварительно авторизировать его? – DaImTo

+0

Спасибо за ответ @DaImTo. GameService используется только для получения информации о пользователе. Для получения игровой информации необходимо использовать API GameService Managment. – mvnerisantos

ответ

1

API GameService используется для получения аутентифицированной пользователем информации, и мне нужно получить информацию о игре, чтобы получить информацию об игре, чтобы использовать API управления GameService. Используя API управления GameService, я могу выполнить авторизацию с помощью ServiceAccountCredential и получить информацию о игре.