【问题标题】:Authorization error for AdminDirectory from Google Sheet's script来自 Google Sheet 脚本的 AdminDirectory 授权错误
【发布时间】:2019-11-30 21:24:08
【问题描述】:

我正在编写一个来自 Google 表格的脚本来处理我域中的用户。 特别是在这行代码:

var user = AdminDirectory.Users.get(userEmail);

我得到错误:

Not Authorized to access this resource/api

This 是对类似问题的回答,但不起作用。 我检查了 Admin SDK 服务是否已启用并处于活动状态,并且脚本以 SuperAdmin 用户身份运行。

如何授权我的脚本访问 Admin SDK API?

【问题讨论】:

    标签: authorization google-admin-sdk google-workspace


    【解决方案1】:

    您尝试访问的服务之一被禁用,脚本用户没有访问 API 的权限,或者您使用的管理员帐户尚未手动登录以接受服务协议条款。

    必须先在您的域上启用 Google Admin SDK,然后才能使用它。

    来自Enabling advanced services

    要使用高级 Google 服务,请按照以下说明操作:

    在脚本编辑器中,选择资源 > 高级 Google 服务....

    在出现的“高级 Google 服务”对话框中,点击您要使用的服务旁边的开/关开关。

    在对话框中单击“确定”。


    确保您的服务帐户有domain wide authority:

    转到您 G Suite 域的管理控制台。

    从控件列表中选择安全。如果您没有看到列出的安全性,请从页面底部的灰色栏中选择更多控件,然后从控件列表中选择安全性。

    从选项列表中选择高级设置。

    在身份验证部分选择管理 API 客户端访问。

    在“客户名称”字段中,输入从服务帐户>上述创建步骤获得的客户 ID。

    在一个或多个 API 范围字段中,输入您的应用程序所需的范围(有关可能范围的列表,请参阅授权请求)。

    点击授权按钮。


    您必须使用网络浏览器中的凭据登录系统以接受服务条款,然后才能使用帐户管理域。

    遵循这三项应该可以解决您的问题。

    【讨论】:

    • Google Admin SDK 已启用。我创建了一个服务帐户,但它需要一个我无法配置的 OAuth 同意屏幕。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多