我能够使用服务帐户和谷歌日历API在谷歌日历中创建一个事件,其中项目和服务帐户是在谷歌工作区管理员帐户中创建的,在同一个帐户中,我启用了域范围的委派属性。我还没有创建单独的日历,也没有授予访问服务帐户的权限。如果我在CreateDelegate()中使用我的工作区google帐户,则此事件将在'abc@myworkspace.com对于我添加的每个与会者,“日历”和“创建人”属性也是相同的。
GoogleCredentials googleCredentials = GoogleCredentials
.fromStream(new FileInputStream(CREDENTIALS_FILE_PATH)).createScoped(SCOPES)
.createDelegated("abc@myworkspace.com");
所以我的问题是,如果我需要为非工作区的谷歌账户创建活动(比方说def@gmail.com)
我可以把def@gmail.com传入createEnderated()吗?如果我这样做了,我将得到,
Error getting access token for service account: 400 Bad Request
那么,如何为非工作区的谷歌账户创建活动呢?
注意:应用类型在OAuth同意屏幕中仍然是“内部”。
有人能解释一下我错过了什么吗?
不,您只能在您的域中访问一个帐户
createDelegated("abc@myworkspace.com");
你不能访问标准的谷歌账户,因为你无法配置权限
执行google workspace域范围的授权
执行Google Workspace域范围的授权
注意:只有具有Admin API访问权限的用户才能访问Admin SDK目录API,因此您的服务帐户需要模拟其中一个用户才能访问Admin SDK目录API。此外,用户必须至少登录一次并接受Google Workspace服务条款。
正确委托的服务号。将有权限代表已被委托权限的域中的用户创建事件。
示例:我已将我的服务帐户的权限委托给用户User1@myDomain.com.无论出于何种目的,该服务帐户现在拥有User1的所有权限。因此,服务帐户可以代表user1创建一个新事件,并邀请任何人参加他们选择的事件。
因为没有办法建立对user2@gmail.com服务帐户无法像这个用户那样工作,因为它是标准的gmail用户。
应用程序代表创建事件的唯一方法user2@gmail.com将使用Oauth2并请求User2@gmail.com访问他们的私人数据。然后应用程序将能够代表创建一个新事件User2@gmail.com.
记住这是在创造一个事件。没有任何东西可以阻止作为代理的服务帐户user1@mydomain.com从邀请user2@gmail.com参加活动。user2@gmail.com然后会被通知他们已被邀请参加活动,然后他们可以决定是否要参加,如果他们接受,那么它将出现在他们的谷歌日历帐户中。注意user2@gmail.com必须手动接受这个。User1@mydomain.com不必手动接受活动是在谷歌日历中创建的,因为服务帐户代表他们行事。
我在我的Angular 9 Web应用程序中使用谷歌日历API,并试图在我的谷歌办公套件域内的谷歌日历上创建事件 在G Suite管理控制台中,我为服务帐户授予了作用域的权限https://www.googleapis.com/auth/calendar和https://www.googleapis.com/auth/calendar.events 我在我的帐户下创建了日历本身,并添加了具有“更改
我正在使用Google. net客户端库来访问谷歌日历应用编程接口。我需要研发创建日历事件并将其发布给用户的应用程序。 这是一个服务器到服务器的应用程序,所以我创建了一个服务帐户,并用它来发送邀请。当从web浏览器提交响应时,创建的与会者对这些事件的响应将被更新,但当来自outlook等任何邮件客户端的响应时,响应将以电子邮件的形式发送给服务帐户电子邮件id(这是一个虚拟电子邮件id)。如何将有效
我收到了这个错误 已经跟踪了https://developers.google.com/admin-sdk/directory/v1/guides/delegation 我使用这个库,并在laravel 5.7:https://github.com/spatie/laravel-google-calendar上运行它 有什么办法可以解决这个问题。请帮忙。
因此,我已将服务号设置为域范围的授权,如本文所述执行谷歌办公套件域范围的授权。在谷歌办公套件管理控制台中,我已授权服务号使用OAuth 2.0范围: 每次我试图创建一个事件,最终都会出现这个错误 这建立了google凭据,不使用模拟,日历与服务号共享。
我正在更新一个Web服务应用程序,该应用程序调用Google的日历API来列出特定日历的日历事件并插入新的日历事件。我正在尝试将其升级到api的版本3。对于身份验证,我使用我在Google Developers Console(https://console.developers.google.com)中创建的服务帐户凭据。我可以使用以下代码创建CalendarService: 但是当我调用lis
我尝试使用php在google calnder中创建事件。但谷歌并没有反映出这一点。 我遵循此代码 http://docs.dhtmlx.com/scheduler/how_to_start.html 在data.php文件中有这个代码 我有api控制台帐户,在该帐户中只有客户端ID和客户端机密。 我不知道如何得到这2个值"878294925469@developer.gserviceaccoun