Google カレンダー API V3 を使用してカレンダーを取得しようとしていますが、C# をサービス アカウントで使用するとエラーが発生します
ダイレクト メッセージの送信中または応答の取得中にエラーが発生しました。
以下は私のコードです。
private const string SERVICE_ACCOUNT_EMAIL = "XXX@developer.gserviceaccount.com";
private const string SERVICE_ACCOUNT_PKCS12_FILE_PATH = @"D:\privatekey.p12";
static void Main(string[] args)
{
Test();
}
static void Test()
{
X509Certificate2 certificate = new X509Certificate2(SERVICE_ACCOUNT_PKCS12_FILE_PATH, "notasecret", X509KeyStorageFlags.Exportable);
AssertionFlowClient provider = new AssertionFlowClient(GoogleAuthenticationServer.Description, certificate)
{
ServiceAccountId = SERVICE_ACCOUNT_EMAIL,
Scope = "Calendar",
};
var auth = new OAuth2Authenticator<AssertionFlowClient>(provider, AssertionFlowClient.GetState);
CalendarService c1 =new CalendarService(
new BaseClientService.Initializer()
{
Authenticator = auth
});
c1.Calendars.Get("MyCalenderID").Fetch();
}