2016-11-25 44 views
3

我試圖使用GameService API來列出遊戲AchievementDefinitions,但總是返回[500]沒有個別錯誤。我正在使用ServiceAccountCredential進行身份驗證。Google Api GameService沒有個別錯誤 - .NET

我嘗試了兩種方式在.NET運行時權威性

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錯誤?

+0

你能發佈完整的錯誤信息嗎?您如何知道api支持服務帳戶是否可以預先授權? – DaImTo

+0

感謝回覆@DaImTo。 GameService僅用於獲取用戶信息。獲取遊戲信息需要使用GameService管理API。 – mvnerisantos

回答

1

GameService API用於獲取用戶認證信息,我需要的是獲取遊戲信息,以獲取需要使用GameService Management API的遊戲信息。 使用GameService Management API我可以使用ServiceAccountCredential進行認證並獲取遊戲信息。