gpt4 book ai didi

google-apps-script - Google-Appscript 的 PropertiesService.getScriptProperties() 的范围是什么?

转载 作者:行者123 更新时间:2023-12-04 07:14:07 26 4
gpt4 key购买 nike

我已经创建了一个 GMail 插件,目前我正在使用 PropertiesService.getUserProperties() 来保存一些配置数据。然而,最近我们需要为同一域中的所有用户共享配置数据。我正在考虑使用 PropertiesService.getScriptProperties() 来这样做。
我想问一个与以下 Google 应用程序脚本文档相关的问题:
https://developers.google.com/apps-script/reference/properties/properties-service
对于使用 scriptProperties.setProperty() API 设置的属性,是否会与所有用户共享该属性集,而不管域如何?还是只有同一个域下的用户才会共享相同的值?
例如,2 个不相关的域(domain1.com 和 domain5.com)安装了我的 GMail 插件。 user1@domain1.com 将附加脚本属性“url”设置为“google.com”,user2@domain5.com 是否也会将 url 视为“google.com”?或者只有 domain1.com 下的用户才能将“url”视为“google.com”。
谢谢你。

最佳答案

您不能使用脚本属性将对属性服务数据的访问限制在一个域中。您可能需要在代码运行时获取用户的域名,如果用户在域中,则运行特殊代码以访问该域某处的设置。
特定于域的设置可以放在不同的地方,包括您的脚本属性。但是使用脚本属性的问题可能是存储配额,这取决于您需要存储多少数据。如果是少量数据,例如该域是否已支付订阅费和日期,那么肯定将其放入脚本属性中。但是如果你有很多订阅者,那么你会想要在某个地方有一个外部存储。
可以使用以下代码检索域名:
为了使用下面的代码,您的 appsscript.json list 文件中需要 3 个范围。
"oauthScopes": ["https://www.googleapis.com/auth/script.external_request", "https://www.googleapis.com/auth/userinfo.email", "https://www.googleapis. com/auth/userinfo.profile"]
代码:

var users = Session.getEffectiveUser().getEmail();
var urls = "https://www.googleapis.com/oauth2/v2/userinfo";

var params = {
method : "get",
headers : {"Authorization": "Bearer " + ScriptApp.getOAuthToken()},
};

var response = UrlFetchApp.fetch(urls, params);

if (response && response.getResponseCode() !== 200) {//There should always be a response unless the
//Fetch call failed and if that happens then the outer try - catch can handle it

return false;
}
var userinfo = JSON.parse(response.getContentText());

Logger.log(userinfo)

var domainName = userinfo.hd ? userinfo.hd : false;

return domainName;
//userinfo["given_name"];//First Name
//userinfo["name"];//Full Name
//userinfo["id"];
//userinfo["family_name"];
//userinfo["email"];
//userinfo["picture"];//Link to profile image
//userinfo["locale"];//ID of country de = Germany

关于google-apps-script - Google-Appscript 的 PropertiesService.getScriptProperties() 的范围是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68890487/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com