问题标签 [service-accounts]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1335 浏览

java - 使用 API 和服务帐户创建的新日历不可见

我正在使用 Google Calendar API v3 和服务帐户模式开发一个应用程序以获得访问权限。我的应用程序似乎能够毫无问题地创建新日历,但是当我要使用 Google 日历标准网络应用程序检查结果时,我什么也看不到。这很奇怪,因为获取 CalendarList 会返回正确的日历列表。有人知道为什么会这样吗?使用服务帐户创建的日历有一些限制吗?

谢谢您的帮助。阿尔贝托

更新 1:

这是我的代码片段

更新 2:

有人建议我将服务帐户用户添加到凭据中(然后取消注释.setServiceAccountUser("user@example.com")上面的代码,但它不起作用。在这种情况下,我既不能创建日历,也不能在我打电话service.calendars().insert(content).execute();和收到时收到

0 投票
1 回答
189 浏览

google-app-engine - 从域范围的委派中排除用户子集(服务帐户)

我正在使用域范围委派的服务帐户使用 Google+ Domains API。不幸的是,我们在授权模型方面与我们的客户有困难,因为理论上我们可以访问所有 G+ 数据(甚至来自 CEO 等),而他们希望排除一组人。

这可能吗?否则,唯一的事情就是期望开发商不要滥用他们的权利?

0 投票
1 回答
3357 浏览

php - Google Calendar API v3 PHP -> 尝试在单个日历中创建新事件

基本概要:我编写了一个客户端日历,允许人们安排约会并保留时间段(例如,预订记录在数据库中,第二个人不能选择相同的时间段)以便于联合和打印这些在提供商方面的约会,他们要求我将这些事件推送到一个谷歌日历。我已经为它创建了一个谷歌帐户和一个日历,然后创建了 API 密钥,可以在同一个谷歌用户下访问日历 API。所以我希望我的网站每次都使用这个用户的凭据来创建事件。看起来这将是一个“服务帐户”,但它似乎无权访问用户数据,甚至没有创建应用程序的用户。

关于如何解决这个问题的任何想法?如果看起来它应该非常简单,而且我不可能是第一个想要做这样的事情的人,但如果我能找到任何例子,我该死的。

这是代码片段

和错误

0 投票
1 回答
168 浏览

java - 如何在浏览器中打开 google Drive 界面

我正在尝试使用服务帐户从 Java 应用程序中打开 Google Drive 界面“www.drive.goole ...”。服务帐户工作正常,我可以访问我的文件,插入....但是我需要在不登录谷歌的情况下打开谷歌界面,只能使用服务帐户。

有可能的?

谢谢你。

0 投票
0 回答
326 浏览

.net - 从 Google 日历 API 中一无所获

使用 Google 服务帐户,我正在尝试从域中获取日历列表和事件。两者都不起作用。我得到的只是一个 JSON 异常说:

我会翻译成没有检索到数据。

Google Calendar API 和服务帐户有什么问题吗?

示例代码:

或(使用域中的有效电子邮件)

该服务由以下人员创建:

至少我实施的所有其他服务都有效。如果我使用连接到服务帐户的管理员用户登录,我可以完美地看到日历。

0 投票
1 回答
1558 浏览

google-api - 浏览 google drive api 的服务帐号

我正在使用 Google Drive 的 API 将文件上传到服务帐户(使用 Google Cloud Console 创建)。

正在上传成功。我可以使用 API 枚举它们。

我如何从 Internet 浏览器中浏览这些文件,就像我们在任何其他常规 Google 帐户(驱动器)中查看文件一样?

谢谢

0 投票
1 回答
1002 浏览

php - 使用 php 和服务帐户创建谷歌日历事件 - 身份验证问题

使用服务帐户方法时是否可以访问谷歌日历服务?谷歌间接表示,不可能,因为日历服务不在service-account-method的文档中支持的服务列表中,但我个人认为,这是可能的。但是怎么做?

我正在用 php 编写日历应用程序,并且我想在没有用户操作(例如登录)的情况下将日历事件创建到我的 google-calendar 中。

我了解到,首先应用程序必须使用带有密钥文件 .p12 的服务帐户方法对谷歌服务器进行身份验证

我正在使用以下代码进行身份验证:(在此处下载:http ://code.google.com/p/google-api-php-client/source/browse/trunk/examples/prediction/serviceAccount.php )

但是这个登录似乎不起作用。我如何确定服务器当时是否已登录?

我想继续这个:

但是在第 55 行出现了这个错误:

致命错误:在 /usr/www/users/leuchtk/ 中带有消息“调用 GET https://www.googleapis.com/calendar/v3/users/me/calendarList : (403) Insufficient Permission”的未捕获异常“Google_ServiceException” html/google-api/src/io/Google_REST.php:66

堆栈跟踪:#0 /usr/www/users/leuchtk/html/google-api/src/io/Google_REST.php(36): Google_REST::decodeHttpResponse(Object(Google_HttpRequest)) #1 /usr/www/users/ leuchtk/html/google-api/src/service/Google_ServiceResource.php(186): Google_REST::execute(Object(Google_HttpRequest)) #2 /usr/www/users/leuchtk/html/google-api/src/contrib/ Google_CalendarService.php(205): Google_ServiceResource->__call('list', Array) #3 /usr/www/users/leuchtk/html/i_termine_admin.php(55): Google_CalendarListServiceResource->listCalendarList() #4 /usr/www /users/leuchtk/html/termine_admin.php(113): include('/usr/www/users/...') #5 {main} 在 /usr/www/users/leuchtk/html/google-api 中抛出/src/io/Google_REST.php 第 66 行

所以看起来,应用程序没有登录。我现在完全迷失在这段代码中。谢谢你的一些小光,那里缺少什么......

马可

0 投票
3 回答
9248 浏览

google-app-engine - 谁拥有服务帐户通过 Google 日历 API 创建的日历以及如何共享这些日历?

假设我有一个some.account@gmail.com带有项目的 Google 帐户(在 Google Developer Console 中配置为 Google App Engine 应用程序)和一个带有属于它project-1的电子邮件地址的服务帐户。12..@developer.gserviceaccount.com

我知道如何使用此服务帐户创建日历并以编程方式操作其条目:我使用Google API 客户端库(Java 版本,带有服务帐户凭据)在我的 Google App Engine 应用程序中调用 Google 日历 API,它确实如此只是。但是,任何此类创建的日历似乎都由服务帐户拥有,而不是由我的 englobing Google 帐户拥有。我从以下观察得出结论:

  • 当我在Google 日历 UI中查看我的 Google 帐户的日历时,没有任何以编程方式创建的日历显示在My calendars.
  • 当我尝试通过发出Other calendars|访问这样的日历时 Add a friend´s calendar并且使用服务帐户的电子邮件地址,我可以发送请求,但它永远不会得到答复(可能是因为服务帐户的电子邮件地址不是“真实的”电子邮件地址)。
  • 当我以编程方式创建日历时,我没有设置CalendarListEntry#hidden,所以应该应用默认值。false

所以我的问题是:如何在普通的 Google Calendar Web UI 中访问使用 Google Calendar API(在我的情况下是 Java 客户端)以编程方式创建的日历和日历条目。例如,服务帐户是否可以与其拥有的 Google 帐户共享其日历,或者我可以在 UI 中使用其服务帐户凭据直接操作 Google 帐户的日历。

我意识到以前有一些关于同一主题的问题,但到目前为止,它们并没有帮助我解开这个谜团。

0 投票
0 回答
1743 浏览

batch-file - 无法使用 Windows 服务帐户访问 pscp.exe

我已经构建了一个 Windows 批处理文件代码,它从 FTP 服务器获取文件列表,然后从该列表中提取适当的文件。批处理文件使用 pscp.exe 和 psftp.exe 的组合来实现此目的。

如果我以管理员组的成员身份登录并手动执行此批处理文件(双击)它可以完美运行,但是当我安排一个 Windows 任务从 Windows 服务帐户运行该批处理文件时出现问题(不在管理员组)。

在 Windows 服务帐户下运行的作业无法执行代码中使用的 pscp.exe 命令,而在批处理文件中执行之前的所有其他内容完全正常。

下面是我在批处理文件中使用的代码行:

pscp.exe -sftp -v -batch -pw %password% -ls %username%@ServerAddress:/outbox > F:\dirlist.txt

服务帐户是 BatchAccountsLG 和 ServiceAccountsLG 组的成员,作业需要它才能执行批处理文件代码。此外,服务帐户对执行代码所需的任何文件/文件夹具有所有必需的访问权限。

我不确定问题出在哪里,因为如果使用我的管理员凭据,批处理文件工作得非常好,而当使用 Windows 服务帐户安排作业时它会失败。

我曾尝试通过谷歌寻找答案,但我画了一个空白,对此的任何帮助将不胜感激。如果还有什么我需要补充的,我会很高兴这样做。

提前感谢所有的想法。

0 投票
1 回答
532 浏览

google-drive-api - 我上传到谷歌驱动器的服务帐户文件在哪里

我有下面的代码,可以将文件上传到我的 Google 服务帐户。它正在工作,但我想知道文件在哪里?我可以使用哪个帐户登录谷歌驱动器并获取文件以及我可以使用多少空间?服务帐户是否有类似谷歌驱动器用户界面的东西?