我试图创建一个谷歌日历服务帐户。
以下是我的证件:
以下是我的服务帐户定义(已启用服务帐户的站点范围委托):
string userName = "xxx@yyy.it";
string[] Scopes = { CalendarService.Scope.Calendar, CalendarService.Scope.CalendarEvents };
string ApplicationName = "Client per quickstart";
ServiceAccountCredential credential = GoogleCredential.FromFile(@"path\credentialjson.json").CreateScoped(Scopes).CreateWithUser(userName).UnderlyingCredential as ServiceAccountCredential;
// Create Google Calendar API service.
var service = new CalendarService(new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = ApplicationName
});
// THIS REQUEST FAILS!!
var y = service.CalendarList.List().Execute();
您的问题是由于同时使用的作用域造成的,因为您正在设置CalendarService.Scope.CalendarEvents,所以这个作用域将优先于CalendarService.Scope.Calendar,因为Google API总是优先考虑最受限制的作用域(在本例中是CalendarEvents)。
正如您在CalendarList:list终结点作用域中所看到的,CalendarService.Scope.CalendarEvents不是一个作用域,您可以用来命中想要命中的终结点。
因此,在您的代码中,您可以删除额外的作用域,并将其保留如下:
string[] Scopes = { CalendarService.Scope.Calendar };
我正在创建一个帐户链接Alexa技能。我得到了链接授权码并将其交换为访问令牌。然后,我尝试将所有参数:代码、访问令牌、技能ID放入Alexa技能激活API。我总是得到一个信息:“无效的帐户链接凭据”。 要怎么做?
因此,我正在尝试在我的本地主机上获取服务应用程序凭据,并且遇到了一些问题。我创建并下载了json密钥,我想保护它们,而不是让它们变成纯文本。 我想知道最好的方法。我有这个代码: 这里的问题是我的JSON文件在我的存储库中以纯文本形式公开。
一些(但不是全部)Google帐户在尝试访问Google日历API时始终响应401,尽管Tokeninfo告诉我我正在使用的访问令牌具有适当的范围(请参阅下面的curl输出)。我可以使用刷新令牌成功获取新的访问令牌,但日历api继续到401。 有人知道为什么会发生这种情况吗?
我正在赫洛库上部署一个使用谷歌OAuth2的应用程序。当我测试应用程序时,我转到身份验证网址(/auth/google),我看到以下错误消息(请注意,我将域名替换为***只是为了在此处发布: 错误:无效_client 未找到 OAuth 客户端。 请求详细信息response _ type = code redirect _ uri = https://* * * *。com/auth/Googl
我收到了这个错误 已经跟踪了https://developers.google.com/admin-sdk/directory/v1/guides/delegation 我使用这个库,并在laravel 5.7:https://github.com/spatie/laravel-google-calendar上运行它 有什么办法可以解决这个问题。请帮忙。