使用 Google 服务帐户,我正在尝试从域中获取日历列表和事件。两者都不起作用。我得到的只是一个 JSON 异常说:
Unexpected character encountered while parsing value: <. Path '', line 0, position 0.
我会翻译成没有检索到数据。
Google Calendar API 和服务帐户有什么问题吗?
示例代码:
var req = CalendarService.CalendarList.List();
try
{
var list = req.Execute();
return list;
}
catch { }
或(使用域中的有效电子邮件)
var req = CalendarService.Events.List("x@y.com");
var test = req.Execute();
var x = test.Items;
该服务由以下人员创建:
var credential = new ServiceAccountCredential(new ServiceAccountCredential.Initializer(settings.ServiceAccountEmail)
{
Scopes = new[] { CalendarService.Scope.Calendar },
User = string.Format("{0}@{1}", settings.AdminUsername, settings.Domain)
}.FromCertificate(settings.Certificate.Certificate));
return new CalendarService((new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = "DotDash Fix",
}));
至少我实施的所有其他服务都有效。如果我使用连接到服务帐户的管理员用户登录,我可以完美地看到日历。