小编Nic*_*nes的帖子

从 Google Drive API 获取操作项列表


嗨,大家好。

我一直在尝试使用 Google Drive API 来获取一个列表,其中包含使用 Spring Boot 和我公司域中所有文件(文档或电子表格)中分配的操作项google-api-services-drive,但我遇到了一些问题:

  • 看起来 API 上没有关于操作项的内容。
  • 评论是我能得到的最接近的,但它们不包括操作项信息。他们只有被提及的人的电子邮件。
  • 文档看起来广泛而不精确。例如,这里他们说文件资源包含一个indexableText属性,但它不存在于响应中。
  • Term for followup 中所述,查找 actionitems您可以应用查询来获取包含 action items 的文件。为什么该fullText字段在响应中不可用,或者某些其他等效属性无法查看实际内容并将其用作获取操作项的解决方法?

我只需要从评论中知道谁被分配到操作项。

有任何想法吗?

google-api google-api-java-client google-drive-api google-drive-shared-drive

7
推荐指数
1
解决办法
436
查看次数

使用服务帐号从 Google 域中获取用户列表


大家好。

我被分配了使用 Spring Boot 从 Google 域的每个成员的收件箱中获取未答复电子邮件的任务,但我无法做到。

首先,我需要域中的用户列表。这可以通过 Directory API 实现(顺便说一下,它不能在 Google Developer Console 中通过该名称启用。看起来它属于 Admin SDK 左右)。

到目前为止我所面临的是:

  • SO上有很多相关的问题,但大多数已经过时了。
  • Java Quickstart for Google Directory API 不包含使用服务帐户的示例,我想使用它们,因为我的应用程序在 docker 容器中运行,而使用 Oauth 意味着我每次部署新版本或重新启动时都需要手动授权它容器。
  • Google 文档参考了管理控制台中的“API 参考”设置,但我在那里没有看到该部分。

我没有将凭据存储在 JSON 文件中,而是将它们存储在环境变量中。我正在这样做:

var inputStream = IOUtils.toInputStream(apiCredentials, Charset.defaultCharset());  //apiCredentials is a string with the JSON contents.
var credential = GoogleCredential
                .fromStream(inputStream, httpTransport, JacksonFactory.getDefaultInstance())
                .createScoped(Collections.singleton(DirectoryScopes.ADMIN_DIRECTORY_USER));
var directoryService = new Directory.Builder(httpTransport, JacksonFactory.getDefaultInstance(), credential)
                .setApplicationName("My App")
                .build();
var result = directoryService.users().list()
                    .setPageToken(pageToken)
                    .setDomain("my.domain")
                    .setMaxResults(10)
                    .execute();
Run Code Online (Sandbox Code Playgroud)

在此之后,我收到一个400 Bad request …

google-api google-api-java-client service-accounts spring-boot

7
推荐指数
0
解决办法
65
查看次数

RocketChat API - 模拟用户获取每条未读消息的列表


大家好。

我需要检索每个用户的未读频道消息列表,以便为我的公司创建一个内部使用的图表。看起来没有通过 API 可用的“模拟”功能。Gitlab 说这个讨论会移到论坛,论坛重定向到 Gitlab。死路。

var client = new RocketChatClient(url, "admin", password);
var bobMessages = client.sendAs("bob").getMessagesApi().list();
var johnMessages = client.sendAs("john").getMessagesApi().list();
var janeMessages = client.sendAs("jane").getMessagesApi().list();

Run Code Online (Sandbox Code Playgroud)

这有可能吗?或者我是否需要手动访问数据库以获取此信息?

rocket.chat

7
推荐指数
0
解决办法
323
查看次数