如何在 Google 脚本中编写用于 Facebook 身份验证的应用程序机密和令牌,而无需在脚本中提供凭据?

tur*_*wer 1 google-apps-script facebook-graph-api facebook-access-token

我有一个可以从 Facebook oAuth API 成功获取的脚本:

function getToken() {
  var appId = "XXXXXX"; 
  var clientSecret = "XXXXXXXXXXXX";
  var url = "https://graph.facebook.com/oauth/access_token?client_id="+appId+"&client_secret="+clientSecret+"&grant_type=client_credentials";
  var response = UrlFetchApp.fetch(url);
  var queryResult = response.getContentText(); 
  var token = queryResult.slice(13);
  return(token);
}
Run Code Online (Sandbox Code Playgroud)

问题是,我不喜欢在脚本正文中包含我的 appId 和 clientSecret,所以有没有一种方法可以在不使用纯文本凭据的情况下对其进行编码?

And*_*rts 5

将密钥和密码作为“脚本属性”(文件 > 项目属性 > 脚本属性)手动输入到脚本编辑器中,然后使用 Properties Service在代码中访问它们。

例如,您可以手动添加:

property:APP_ID, value:'XXXXXXXX'
Run Code Online (Sandbox Code Playgroud)

然后在代码中访问它

var appId = PropertiesService.getScriptProperties().getProperty('APP_ID')
Run Code Online (Sandbox Code Playgroud)

如果您想在 Github 之类的地方共享脚本,或者您只授予对脚本的查看访问权限,在这种情况下脚本属性不可见(您不应该看到此脚本中的 SP),则此技术有效)。如果您向其他人授予编辑权限,他们将能够看到 SP,但您可以使用用户属性。