标签: google-workspace

当“组织外部共享已关闭”时与服务帐户共享 Google 表格

我正在使用GSpread从 Google 表格下载数据并将它们存储在不同组织的 Postgres 数据库中。

不幸的是,一个组织激活了 G Suite 的严格共享设置,这使得用户无法在组织外部共享文档。

这会影响我在该组织中与 GSpread 所需的服务帐户共享 Google 表格的能力。

注意:我在相应的组织内创建了服务帐户,并且已经将域范围的权限委派给该服务帐户。

知道如何与帐户共享 Google 表格吗?

sharing gspread google-workspace

5
推荐指数
0
解决办法
437
查看次数

使用域电子邮件或 g suite 帐户创建 Google Play 开发者帐户

我需要为组织创建google play 开发者帐户来发布 Android 应用程序。

现在,我对通过g suite 帐户或使用当前电子邮件的个人 google 帐户创建google play 开发者帐户有一些疑问。电子邮件示例

G Suite 帐户

  • 如果我创建 g suite 帐户,那么创建 google play 开发者帐户的过程将与个人 google 帐户类似?

个人谷歌帐户

  • 如果我已经拥有组织电子邮件并使用该组织电子邮件创建 Google 个人帐户,那么我可以使用哪些 Google 应用程序?创建谷歌帐户就像这个图片所示
  • 另外,如果我的帐户是在 Outlook 上,那么在创建个人 google 帐户后,我的电子邮件将使用 gmail 或同一 Outlook 发送或接收吗?

gmail android google-play-console google-workspace

5
推荐指数
0
解决办法
3036
查看次数

客户端未经授权使用此方法检索访问令牌服务帐户错误

让我的服务帐户在同一个 web 应用程序上进行身份验证是一件非常令人头疼的事情,我也让用户通过 oauth2 登录。

所以我想知道,这可能吗?

如果不是,是否应该坚持使用服务帐户?是否必须自行对用户进行身份验证(老派风格)?哈哈

谢谢。

关于服务帐户,我已经启用了域范围委托,在我的 G Suite 管理控制台中启用了客户端密钥 + api 范围,并且已经获得了 php 示例,并且书籍 api 正常工作。然而,每当我尝试除书籍之外的任何其他 api 时,我都会收到错误,

客户端无权使用此方法检索访问令牌

更新:我尝试使用@dalmto的示例,并添加了几行来测试gmail api,例如:

putenv('GOOGLE_APPLICATION_CREDENTIALS=credentials.json');

$user = 'email@domain.de';

function getGoogleClient() {
    return getServiceAccountClient();
}

function getServiceAccountClient() {
    try {
        // Create and configure a new client object.
        $client2 = new Google_Client();
        $client2->useApplicationDefaultCredentials();
        $client2->setScopes(array('https://www.googleapis.com/auth/userinfo.email','https://www.googleapis.com/auth/admin.directory.user.readonly','https://www.googleapis.com/auth/userinfo.profile','https://www.googleapis.com/auth/gmail.readonly','https://www.googleapis.com/auth/calendar'));
        $client2->setAccessType('offline');
        $client2->setSubject($user);
        return $client2;
    } catch (Exception $e) {
        print "An error occurred: " . $e->getMessage();
    }
}

$newGoogleClient = getGoogleClient();

$service3 = new …
Run Code Online (Sandbox Code Playgroud)

php google-oauth service-accounts gmail-api google-workspace

5
推荐指数
1
解决办法
8231
查看次数


G Suite 插件拒绝连接到驱动器?如何解决“drive.google.com 拒绝连接”错误?

我正在尝试使用我经常使用的名为 YAMM 的 G Suite 插件。最近,我经常遇到错误“drive.google.com 拒绝连接”。当我联系开发人员时,他们说这是 Google 的问题。我该如何解决?

end-user google-apps-script google-drive-api google-apps-script-addon google-workspace

5
推荐指数
1
解决办法
9791
查看次数

使用 CardService 的多选下拉菜单

我正在开发 Drive Add-on,并在使用 Google App Script 中的卡服务实现多选下拉菜单时陷入困境。

尝试使用建议参数实现文本框输入,但一旦选择了关键字,就不会再次出现建议以输入更多关键字。

接受所有实施多重选择的建议。

我在 GAS 卡服务的帮助下创建了一个文本输入

如果单击文本输入,这里是我得到的建议

选择其中一个建议后,我无法生成另一个新的建议列表。

multi-select google-apps-script google-drive-api google-workspace google-workspace-add-ons

5
推荐指数
0
解决办法
382
查看次数

在新的脚本编辑器中创建和测试 Google Sheets 插件

我使用“旧”Apps Script IDE 创建了几个内部插件来自动化我们公司内的一些工作流程。现在我想使用去年 12 月发布的全新 Apps Script IDE 创建一个新的。一切看起来都很好并且工作得很好,但是有一些事情我不明白。

首先:使用部署时,Google Workspace Marketplace IDE 会声明“您的部署 ID 将识别您的应用支持的所有 Google Workspace 服务”。使用部署 ID 时。因此,我已将我的部署 ID 粘贴到其中。只需一个简单的脚本即可创建附加菜单并运行导致警报的函数:

function onInstall () {
  onOpen()
}

function onOpen () {
  var ui = SpreadsheetApp.getUi()
  var menu = ui.createAddonMenu()

  // Create menu structure
  menu
    .addItem('Create proposal', 'proposalShowPopup')

  // Add menu to UI
  menu.addToUi()
}

function proposalShowPopup() {
  Browser.msgBox('Test')
}
Run Code Online (Sandbox Code Playgroud)

但是,当我部署它时,我可以看到市场中的列表,但无法将其安装在我需要的工作表中。

此外,可能因为我尚未声明此插件为表格插件,所以我无法安装本文中提到的测试部署: 通过 Google测试 Google Workspace 插件InstallApps 脚本的部署对话框中缺少。

我阅读了很多有关该appsscript.json文件的信息,但除了以下适用于我的脚本的代码行之外,找不到有关该文件应包含的内容的任何信息:

{
  "timeZone": "Europe/Paris", …
Run Code Online (Sandbox Code Playgroud)

ide add-on google-sheets google-apps-script google-workspace

5
推荐指数
1
解决办法
1973
查看次数

如何在 Google 中为 AWS 客户端 VPN 和自助服务门户配置 SAML 应用程序

我想通过 Google 设置具有 SAML 身份验证的 AWS 客户端 VPN。

我通过以下方式获得了实际的 VPN 连接:AWS VPN using federated Login with Google IdP - app_not_configured_for_user

我还想启用具有 SAML 身份验证的自助服务门户,如下所述: https: //docs.aws.amazon.com/vpn/latest/clientvpn-admin/client-authentication.html#federated-authentication Google 仅支持一个 ACS URL,所以我应该创建第二个应用程序。虽然上面的链接并不是非常具体,但我认为urn:amazon:webservices:clientvpn也应该用于此目的。但是,当我尝试创建第二个应用程序时,我收到一条错误消息,指出实体 ID 应该是唯一的,并且无法继续,因为它已被第一个应用程序使用。

所以问题是:如何配置 Google,以便我可以通过 SAML 使用客户端 VPN自助服务门户?

vpn saml amazon-web-services google-workspace

5
推荐指数
0
解决办法
1575
查看次数

在 Google Workspace 上使用内部测试应用程序时,是否存在令牌在 7 天后过期的问题?

目前,我们使用 OAuth 同意屏幕来创建应用程序并处于外部模式。但问题是,由于token过期,用户测试只能在7天内进行测试。我们想使用更长的时间,所以想问以下问题:

  1. 有什么可能的方法可以延长令牌的生命周期吗?

  2. 我们还想切换到使用 google Workspace,所以有以下问题:

  • 使用Google Workspace作为内部测试时,是否存在像外部测试应用程序一样登录令牌过期7天的问题?
  • 使用google工作区时,是否可以将任何gmail用户(私人帐户)添加到工作区以作为内部进行测试?

oauth internals google-oauth google-workspace

5
推荐指数
1
解决办法
1509
查看次数

GKE Workload Identity 可以与域范围委派一起使用吗?

我们一直在内部应用程序上使用Google Directory API来获取用户的个人资料。当我们进行身份验证时,我们一直在为服务和google-auth-library JWT类使用 json 密钥文件。服务帐户具有域范围委派来使用此端点。因此,访问令牌需要设置subject为工作区管理员。

const jwt = new JWT({
  email: key.client_email,
  key: key.private_key,
  subject: '<admin-email-address>',
  scopes: 'https://www.googleapis.com/auth/admin.directory.user.readonly',
})

const accessToken = await jwt.getAccessToken()
Run Code Online (Sandbox Code Playgroud)

我们的组织正在尝试不再使用服务帐户密钥文件,而是转向 GKE Workload Identity。我们可以使用应用程序默认凭据进行身份验证,在 中设置主题clientOptions

const auth = new GoogleAuth({
  scopes: 'https://www.googleapis.com/auth/admin.directory.user.readonly',
  clientOptions: {
    subject: '<admin-email-address>'
  }
})

const accessToken = await auth.getAccessToken()
Run Code Online (Sandbox Code Playgroud)

但是,创建的访问令牌没有设置主题。这意味着令牌无法访问 Directory API。

有没有办法使用 Workload Identity 创建一个令牌?

google-api-nodejs-client google-kubernetes-engine google-workspace workload-identity

5
推荐指数
0
解决办法
378
查看次数