Ruby on rails Google calendar v3返回403权限不足
我一直在尝试使用服务帐户访问CalendarV3API。我已经从管理控制台添加了范围,并与该服务帐户的电子邮件地址共享了我的日历 我也一直在使用同一个服务帐户访问scope,效果很好 此外,尝试取消访问,如下所述: 所有这一切,我仍然得到Ruby on rails Google calendar v3返回403权限不足,ruby-on-rails,google-api,google-calendar-api,http-status-code-403,google-api-client,Ruby On Rails,Google Api,Google Calendar Api,Http Status Code 403,Google Api Client,我一直在尝试使用服务帐户访问CalendarV3API。我已经从管理控制台添加了范围,并与该服务帐户的电子邮件地址共享了我的日历 我也一直在使用同一个服务帐户访问scope,效果很好 此外,尝试取消访问,如下所述: 所有这一切,我仍然得到 {"error"=> {"errors"=> [{"domain"=>"global", "reason"=>"insufficientPermissions", "message"=>"Ins
{"error"=>
{"errors"=>
[{"domain"=>"global",
"reason"=>"insufficientPermissions",
"message"=>"Insufficient Permission"}],
"code"=>403,
"message"=>"Insufficient Permission"}}
我错过了什么吗?你对此感到高兴吗?我撞到了同样的砖墙 更新:
$key = file_get_contents($key_file_location);
$scopes = array('https://www.googleapis.com/auth/calendar');
$cred = new Google_Auth_AssertionCredentials(
$service_account_name,
$scopes,
$key
);
在与服务电子邮件帐户共享日历后,这对我的授权有效。尝试将“userinfo.email”添加到您的作用域中,并在开发者控制台中启用“联系人API”和“Google+API”。我花了两周的时间搜索这个问题的答案,这个技巧对我很有效。我认为如果你使用Google Calendar Quickstart for Ruby,我认为你应该删除指定路径中的凭据……我尝试了一下,效果很好。。。你可以在这里看到凭证放在哪里
CREDENTIALS_PATH = File.join(Dir.home, '.credentials',
"calendar-ruby-quickstart.yaml")
在您的主页目录中,您可能会找到一个目录,在您批准Google访问您的数据的请求后,Google会将您的凭证存储在该目录中。首先是更改
static string[] Scopes = { CalendarService.Scope.CalendarReadonly };
到
然后在“文档”文件夹中删除。凭据文件夹
然后再跑
这对我有用 你是说你使用的整个谷歌账户?你能调用类似listCalendarList的东西吗,或者你只能在特定的日历上操作吗?我现在可以做各种各样的Google\u服务\u日历\u事件的事情,你被什么卡住了吗?我无法让服务帐户的东西工作。我可以打一些基本的电话,但如果不在谷歌应用程序领域,这似乎是有限的。切换到使用OAuth,这对我们的应用程序来说不太方便,但调用实际上是有效的。@erjoalgo您使用Ruby和RubyonRails了吗?我问这个问题是因为正如我从SO标记中看到的,您是在Python上编写的。
static string[] Scopes = { CalendarService.Scope.Calendar };