- 已解决**
Google工作空间日历共享设置的更改大约花了2个小时才生效。
修复方法是与服务帐户共享日历并授予其管理事件的权限。
当我试图通过脚本创建事件时,我一直收到"您需要对此日历具有作家访问权限。(Google::Apis::ClientError)"错误。
我已完成并确保以下事项:
- 服务帐户在Google Workspace中具有域范围访问权限
- 已确认它也具有正确的身份验证访问权限(
- 服务帐户在Google Cloud上具有"编辑者"角色和权限
- 允许外部电子邮件共享日历的Google Workspace设置
我现在很困惑,希望能给我一些建议.
代码如下:
OOB_URI = 'urn:ietf:wg:oauth:2.0:oob'
CREDENTIALS_PATH = File.join(File.dirname(__FILE__), 'credentials.json')
SCOPE = Google::Apis::CalendarV3::AUTH_CALENDAR_EVENTS
APPLICATION_NAME = "GCAL Events"
def authorize
credentials = Google::Auth::ServiceAccountCredentials.make_creds(
json_key_io: File.open(CREDENTIALS_PATH),
scope: SCOPE
)
credentials.fetch_access_token!
credentials
end
def create_event(summary, start_time, end_time)
service = Google::Apis::CalendarV3::CalendarService.new
service.client_options.application_name = APPLICATION_NAME
service.authorization = authorize
event = Google::Apis::CalendarV3::Event.new({
summary: summary,
start: {
date_time: start_time,
time_zone: 'Pacific/Auckland'
},
end: {
date_time: end_time,
time_zone: 'Pacific/Auckland'
}
})
result = service.insert_event('email@mydomain.com', event)
puts "Event created: #{result.html_link}"
end
create_event('xyz', '2023-03-03T09:00:00+12:00', '2023-03-03T10:00:00+12:00')
在Google Workspace中的其他用户的日历上创建活动
1条答案
按热度按时间ny6fqffe1#
您需要告诉服务帐户要委派为域中的哪个用户。