以下のコードを使用して、サービス アカウントでファイルを取得しています。
var certificate = new X509Certificate2("D:\\05-privatekey.p12", "notasecret", X509KeyStorageFlags.Exportable);
var privateKey = certificate.Export(X509ContentType.Cert);
var provider = new AssertionFlowClient(GoogleAuthenticationServer.Description, certificate)
{
ServiceAccountId = "877564787679-glrhdp0gclc9mbj77qe4998dkc6mfj62@developer.gserviceaccount.com",
Scope = DriveService.Scopes.Drive.GetStringValue(),
ServiceAccountUser = "user1@05.mygbiz.com"
};
var auth = new OAuth2Authenticator<AssertionFlowClient>(provider, AssertionFlowClient.GetState);
DriveService service = new DriveService(new BaseClientService.Initializer()
{
Authenticator = auth,
ApplicationName = "My APP",
});
FilesResource.ListRequest request = service.Files.List();
FileList files = request.Execute();
ここで Execute() api は例外を与えています
ダイレクト メッセージの送信中または応答の取得中にエラーが発生しました。
編集: プロジェクトは、@ https://code.google.com/p/google-api-dotnet-client/wiki/Buildに記載されている設定に基づいています
編集 2: サービス アカウントに基づいて CPanel に適切な設定をしています